If you're doing both operations in one transaction, this should be saved as one record in the audit table - is it not so?
Hm, just a thought:
Maybe rather than updating the entity with the reason (and then deleting it), you could put the reason into the revision enitity, like you would with the username who committed each change. So you don't update the entity, you just delete it right away, but add a new "Comment" column to your revision entity.
I guess you might temporily store the comment in the user's session so that the Revision Listener has access to it when adding the revision that did the delete.