You don't need this:
ALTER DATABASE MyDatabase
SET ALLOW_SNAPSHOT_ISOLATION ON
That's a different kind of snapshot isolation that is controlled by each connection and transaction. Read_Committed_Snapshot should be sufficient. You're probably best setting that in off hours though. I haven't changed it on a live system in a while. I'm not sure about the blocking & locking implications, but I'm sure there are a few.
"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
- Theodore Roosevelt
Author of:
SQL Server Execution Plans
SQL Server Query Performance Tuning