Perhaps the issue here is what is appropriate and by design. The PHP session ID is meant to be a temporary means to identify a client. It's not designed to be stored as a permanent record.
The vast majority of e-commerce sites, would, I think, expect to crib a little user data during the checkout portion of the transaction, at the very least.
With that in mind, I'd follow Dagon's suggestion and store transactions with their own db-generated unique id and keep some piece of user ID in there as well (email address, maybe?)
The next time the user logs in, you've got his entire transaction history available.