We use @@trancount just as boundary marker in cascading transactions. The auditing trigger in a child table starts like this:
if @@trancount > 1
A transaction count greater than 1 indicates that a cascading transaction started higher up in the data model hierarchy. In order to impact as little as possible on transactions we only log the parent transaction. If however the transaction starts at the level of the child table, then it is logged.
The actual transaction id is not important. We log database user, OS user, workstation, program which manipulates the db, session id and of course date/time.