Вы пытались создать SQLCommand, а затем использовать Cmd. ExecuteScalar ?
Кроме того, вы используете переменную в своем запросе! Это определенно требует параметризованного SQLCommand только для того, чтобы избежать внедрения кода SQL! Не имеет значения, можете ли вы гарантировать, что это безопасно или нет. Лучшая практика - всегда использовать параметры вместо этого. (Почему? Потому что другой разработчик, который смотрит на ваш код, будет учиться на собственном примере, а вы не хотите, чтобы они изучали плохие практики!)
Вы уже пытались добавить "OLE DB Services = -4" в строку подключения? Я слышал, что это может решить эту ошибку транзакции. :-) (Признаюсь, я отредактировал этот ответ после прочтения вашего комментария.)
В любом случае, эта опция связана с транзакцией включением базы данных. Вы переопределяете настройку, добавляя это значение. (Да, я бессовестно гуглял за это.) Кажется, что ваши службы OLE DB были изменены или, возможно, они просто разные, потому что вы находитесь в другой системе.