When I wrote XA JMS code I had to use the XA specific create method(s).
I have not (yet) looked at your sample code but if you are using createQueueSession then AFAIK the JMS queue will [b]not[/b] be part of the XA transaction.
[Message sent by forum member 'matterbury' (matterbury)]
http://forums.java.net/jive/thread.jspa?messageID=353168