Я тут немного поковырял свой обход с невыборкой полей таблицы-предка в orig() таблицы - потомка и сделал проще.
Перечислять поля и писать методы - это долго.

Проще скопировать значения недостающих полей (на примере договоров с клиентами):
Мне нужно было его получить правильный orig() в методе таблицы SalesAgreementHeaderExt_RU.update():
X++:
AgreementHeaderExt_RU baseOrig = this as AgreementHeaderExt_RU;
SalesAgreementHeaderExt_RU this_orig = this.orig();
baseOrig = baseOrig.orig();
buf2Buf(baseOrig, this_orig);В результате в переменной this_orig типа SalesAgreementHeaderExt_RU имеем все поля с правильными значениями.
Если уровней наследования будет больше - buf2buf нужно сделать несколько раз.