Да, перепутал с методом xRecord.setTmp()
Вообще-то, EVGL уже указал на различия.
При использовании прямого присвоения обе переменные должны быть
одного типа. Одна и та же временная таблица. Один объект AOT (один "класс")
А при использовании xRecord.setTmpData() - не обязательно. Это могут быть разные таблицы AOT. Хотя, конечно, должны совпадать по структуре копируемые (синхронизируемые) данные. Т.е. попытка скопировать не существующее поле вызовет ошибку.