I don't believe that client initiated UserTransactions are working with JBoss Darren. I've been following this subject for a while now and noone seems to be able to get it to work (although I have only seen it in the context of an Oracle backend).
My personal uninformed theory is that the ejbStore() container callback is operating in a different transaction context to the rest of the ops, hence when it 'UPDATES WHERE X', X does not yet exist in it's context and blam, operation fails.
Some folks are likely to post and tell you not to use Client side transactions and that type of work is for session beans. However I always wanted to use them for my JUnit tests...so that I could be sure no junk data was left in the database after each test run (by intentially rolling back).
Anyway, anybody else who knows different please enlighten us re: client side UserTransactions w/ JBoss !