• If by working and not working you mean that putting in single user mode sometimes works better with a single batch than with multiple batches it's down to time and processing power on the CPU. If you multiple batches, there is just more time between commands than if we're talking about all the commands in a single batch. But, even in a single batch, there is still time in between commands. It's that time in between that you get a connection slip in on you and the single_user doesn't work.

    "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