Паша, привет! И тебя с наступающим, а также привет всем знакомым в Югорске
А subrc там по-разному себя ведет из-за асинхронных обновлений. Когда ты в программе пытаешься считать только что проведенный документ, вполне возможно, что физически записи в таблице еще не обновились, так как они обновляются в отдельном параллельном процессе. В отладке все проходит потому, что когда ты пошагово программу выполняешь, времени проходит достаточно, чтобы асинхронное обновление сработало.
Что делать? Можно попытаться получить доступ к глобальным данным (данным проведенного документа) основной программы через динамический assign. А можно самому написать функцию, которая будет срабатывать в обновлении, вызвать ее из экзита (CALL FUNCTION ... IN UPDATE TASK) и уж во время ее работы все таблицы будут точно обновлены. Но это, естественно, зависит от задачи.