I'll look deeper at applying that suggestion to our code. I'm not sure how straight forward that would be (there is some intermingling of transactions as we first authorize, then perform the actions that don't cost us money, then charge, then perform the actions that cost us money).
Is there not a way to bring back the JBoss 4 behavior of having the transaction manager handle each transaction possible?