Ну тут всё просто. У Вас должно быть понимание, какой должен быть результат операции изменения, которое вносится в модель в IUpdater.Execute. Перед внесением изменения анализируем текущее состояние объекта, если оно = ожидаемому, то просто не трогаем его, т.е., грубо говоря, если есть Entity с сохраненным положением семейства и это значение в нем равно положению семейства, то ничего не делаем с этим элементом. А Revit, кстати, отслеживает такие моменты и прибивает апдейтеры, которые по многу раз пытаются внести изменения в 1 элемент, за что ему спасибо)