Hey Matthew,
As far as I'm aware, it's not possible to rollback a transaction the way you're attempting to because the code from the base batch that you're extending will always run first and then the extension will run. So you can't really rollback the transaction because it's already been committed.
Depending on the data your accessing and the complexity you could always have part of your extension check the associated audit tables for the old values and change the values back (not perfect but you'd be able to reset the values). The only other approach would be to recreate the batch so you have full control over the batch code.
Sorry if that's not much help.