В работе операций update_recordset есть некоторые ньюансы которые дают сложноотлавливаемые баги.
На одной из версий Аксапты (уже и не помню какой) применение двух последовательных update_recordset давало некорректный результат. Осталось предположение, что отправив запрос на обновление на sqlсервер система продолжила выполнение последующего кода, не дожидаясь полного выполнения запроса. Как результат, следующий update_recordset, использующий результаты предыдущего давал некорректные результаты.
Поборолось обрамлением каждого update_recordset в отдельных ttsbegin/ttscommit. Но осадочек остался...