Is your request expanding over multiple servers. IE, Are you accessing your UserTransaction from AppServer A and then accessing your entity from AppServer B?
I don't know if it is relavent b/c I'm not completely experienced with JBoss's Clustering. Does Jboss support the propogation of transactional contexts across multiple servers? The docs do say that if you don't have a distributed transaction manager, your calls are very likely to fail. Seeing that each appserver has its own TM, and transactions are mostly thread based, I don't know if your transactions are being shared or not. I'll need to play with it to find out.
I put both the Stateless Session Bean and the CMP Enity Bean with Clustered option to true. So, when I invoke my stateless bean, I would get an answer from any of my JBOSS instances, and it continues to the entity bean like that. Since it's a CMP I don't control the transaction, but the container does.