Я подозреваю, что весь overhead сводится к посылке одного лишнего SQL-оператора в начале каждой транзакции. (
http://msdn.microsoft.com/en-us/library/ms189252.aspx - SET CONTEXT_INFO).
Насколько я знаю, соединения с сервером БД реюзаются между разными пользовательскими сессиями. Когда транзакция начинается - захватывается новое соединение с БД, после того как транзакция завершается - соединение еще сколько-то (кажется 30 для SQL Server) секунд держиться системой для повтороного использования. Соответственно - чтобы контекст установить, достаточно просто выполнять этот оператор в начале каждой транзакции. (Кстати - надо будет попробовать то же самое сделать в DAX2009, засунув соответствующий оператор в ttsNotifyBegin().)
Вообще я никогда не отключаю никакие отладочные галочки на боевых серверах. По моему опыту - реального видимого пользователями замедления они не создают, а возможность быстро диагностировать проблему - дорого стоит.