Question:
Is there any way to capture SQL at the transaction object level?
Answer:
If you are using a datawindow/datastore object, then you can add code to the SQLPreview event to see any SQL before it is executed on the server. You then have the option to cancel or modify the SQL.