I guess my issue is that the API on AMQQueue feels fairly "unnatural"... it's clearly bolted on to support a particular function of the MBean rather than naturally being something the Queue would expose, and we should probably be doing our best to simplify AMQQueue.
In that sense I feel like actually the functionality should be moved into a third-party class (including the management of the transaction). The API on AMQQueue should potentially just be the ability to acquire a set of messages matching a filter. In that sense I think the change to make the subject queue manage the transaction is suspect.
This is possibly worth a separate JIRA though.