Я обычно пытаюсь еще раз достучаться до модуля. И только в случае повторной неудачи считаю, что модуль отказал.
Для того, чтобы отослать повторный запрос достаточно ведь просто остаться на этом же шаге, но взвести еще раз Enable.
Чтобы это происходило автоматически я на вход Enable подаю not Read (применительно к Вашему коду будет Enable := not ModbusAdrDO67.Read).

И учтите, что в случае ошибки Вы скорее всего не записал в модуль DOByteAdr67, но тем не менее пишите OldDOByteAdr67 := DOByteAdr67.

Но в целом так как Вы предлагаете тоже можно.