>- Transactions are used so if the user decides to cancel, the entries can be rolled back
Whoa, whoa. That's not what transactions are used for. A transaction should be kept open for as few lines of code as possible, and never during a wait state. If you need the ability to rollback changes, use buffering and TABLEREVERT.
Erik Moore
Clientelligence