> So I think any JTA compatible transaction manager should be suitable for that.
Have you actually read the JTA spec?
"A communication resource manager (CRM) supports transaction context propagation and access to the transaction service for incoming and outgoing requests. The JTA document does not specify requirements pertained to communication. Refer to the JTS Specification  for more details on interoperability between Transaction Managers."
Or to put it another way: JTA compatibility does not guarantee context propagation, interoperable or otherwise. If you want to ship a transaction context on business logic calls between JVMs you need a distributed JTA or a JTS. And yes, we do have one but no, it does not work with JBossAS 4.2. But it will with the shiny new EAP 5.0.
BTW, just clustering your app does not necessarily mean you need distributed tx. If the cluster load balancing algorithm is transaction sticky then all the calls for a given tx go to the same node and local tx work fine.