If there is a chargeback (bad check or credit card transaction challenged), you have to delete/remove the transaction and therefore you lose the history of the transaction. It would be better to have a way to identify the transaction as "canceled" and add a notation.
Thanks for the suggestion. For credit cards, there is an option to "refund" that should behave in the way you are describing but for a check there is only a "delete" option. We will consider this but don't have a timeline at the moment.