I wanted to capture the SQL statements that are getting fired from a J2EE container. This helps in root cause analysis to figure out if the performance culprit is on the java side or on the SQL side. With P6Spy the profiler can not only capture which SQL was fired but would also tell how much it took to execute the SQL.
It still leaves out the XA issue you have pointed out.