A UUID is preferable to the other solutions because you can condense it down to 128 bits of binary data ... and put it in a database. :)
The other solutions are not as database friendly. It seems to me if we're trying to solve the problem of guaranteeing unique transaction ids for extremely high volume sites, then we should make sure that the transaction id itself is high volume friendly. Cheers, ds