Не очень все же хорошая идея - какие-то дополнительные блокировки, как внешние (флаги) так и выключение срабатывания.
Решается как правило обработкой необходимости менять значение.
Например:
Есть контролы A,B,C
Соответственно правила для A, меняющее B, правило для B, меняющее С и правило для C, меняющее А.
При изменении любого контрола - возникает цикл. Но если добавить в каждое правило условие, проверяющее значение в изменяемом контроле и публикующее только при отличающемся - они отработают только один раз.