UserConnection, теоретически, должен использовать ODBC-подключение. Посмотри в настройках собственно SQL-сервера, может там установлено ограничение на длительность выполнения запроса. Не базы, а именно SQL-сервера.
А, кроме того, в справке по классу Statement есть пример отлова ошибок исполнения
X++:
Statement.executeUpdate(sql);
print " Error code was: ", Statement.getLastError();
print " Error message was '", Statement.getLastErrorText(), "'";
Может, "дело вовсе не в бобине"

В смысле, ошибка не из-за timeoute происходит?