Unposting a batch in any module other than the general ledger opens unresolved issues (what about taxes that have been collected and paid, and cheques written etc...)
Just edit the g/l account number in Ledger when you retrieve the batch.