Спасибо за пример.
Запустил проверяю. Когда работает DEMO значения записываются и всё пашет синхронно.
Если я меняю значение v2 кликнув по ней и записав новое значение, то запись происходит и всё успешно синхронизируется.
Затем я меняю значение v3 и тут проблема снова появляется, v1 присваивает новое значение v3, а потом прежнее значение v2 и так по кругу.
Я уже думаю, что это просто способ отладки такой корявый.

Объясню подробнее зачем мне это, может это вообще не так решается.
Есть v1, она в RETAIN с начальным значением. Её я храню в контроллере и выгружаю в v2 и в v3 при запуске.
v2 добавлена в порт rs232 и общается с панелью СП307.
v3 добавлена в Ethernet и работает со СКАДОЙ.
Нужно чтобы изменения на панели, загружались в СКАДУ и наоборот.

В примере проекта я объявлял переменные локально в программе.
На реальном проекте я v2 и v3 добавляю в конфигураторе добавляя Modbus slave под RS232 и ещё один Modbus slave Ethernet.
Тип подэлемента 2 byte.