Для ODBC попробуйте так:
X++:
otherStr += "DRIVER={SQL Server}";
otherStr += ";Trusted_Connection=No";
otherStr += strfmt(";SERVER=%1", ...);
otherStr += strfmt(";DataBase=%1", ...);
otherStr += strfmt(";UID=%1", ...);
otherStr += strfmt(";PWD=%1", ...);
loginProp.setOther(otherStr);
По поводу Connection:
1) почему не использовать стандартные методы con.ttsbegin() и con.ttsabort()?
2) запрос на удаление к БД идет по уникальному ключу. Если ключ содержит текстовое поле, то проблема может быть в Adjustment'е.
Пример: поле Field имеет длину 10 символов. В Аксапте значение в этом поле равно "Код1". В БД оно может быть записано или как "Код1______", или как "______Код1" ("_" - это пробел). Это нужно учитывать при вставке через запрос.
Создайте 2 записи: одну из Аксапты, вторую - через запрос. И посмотрите, есть ли разница в текстовых полях.