Do you have UserTransactions, mean that a Tx is spread over two nodes?
What EJB version do you use?
No UserTransactions in the application - everything is container managed. I'm using EJB 3.0
How the Tx is started? A MDB or an explicit call to SLSB's?
Maybe you set the logging level of 'com.arjuna' and 'org.jboss.tm' to TRACE, you might do it after the node is in trouble (it will take up to a minute to pick up).
Maybe it will show what happen (you might check and compare the same log if the server is correct running).