Проблема в том, что вы думаете, что значение, записанное из сети и значение, сохранённое локально, лежит в одном и том же месте. Это два разных места. В одном лежит 30, в другом 25. И когда вы опять записываете 25 поверх 25, то запись, конечно же, происходит. Значение 25 заменяется на значение 25. А значение 30 остаётся значением 30.
Но, как я описал выше, скада не знает, что одно значение уже заменили другим. Поэтому она, как задатчик, не видит смысла записывать 30 поверх 30, т.к. она не знает, что там давно уже 25, заданное локально.