Are we talking about transactions inside an event handler, or event handlers that call methods which start transactions, or both?
Specifically Editor.EnteringQuiescentState. Inside the handler I have code that may or may not call methods that start traditional transactions. Is that a nono?
EDIT:
The first thing I do in the handler is remove the handler.
I can't say for sure, but I'd bet that it may cause problems with UNDO/REDO, because a 'traditional' transaction is actually an encapsulation of an undo group (e.g., UNDO Begin/End), so you might want to check to see if whatever you're doing (that is, if you're modifying something as opposed to only reading) is being undone/redone as a separate group, or is being undone/redone together with any changes made by a command that is ending.
The basic problem with using transactions in events like the one you cite is that it can result in the creation of a distinct undo group, while the intent may have been for the changes made to be undone/redone along with any changes made by a command that is ending when the event fired.