Так я и не предлагаю validateWrite() вызывать из каждого edit-метода. Просто в вашем edit-методе поставьте forceWrite(true), если set = true. Тогда, когда придет время сохранять запись (а это, кстати, не только leave(), но и, например, Ctrl+S или нажатие на кнопку, у которой SaveRecord = Yes), вызовется validateWrite() и write(), даже если поля записи не были изменены.
Например:
X++:
edit String30 myEditMethod(boolean _set, MyTable _myTable, String30 _value)
{
if (_set) {
...
MyTable_ds.forceWrite(true);
}
return ...;
}