While advocating the use of transactions for multiple statements is a good idea in general, I would advise against it in this case.
This script executes a number of system procedures (sp_dboption, checkpoint, etc) which are specific to Sybase (and maybe MS-SQL), and which will probably not work in a transaction - these don't affect user tables anyway.