Hola John, he conseguido leer los registros, desfasados en valor de uno tal como lo comentabas, Genial!
Algo que me percaté es que si tan solo uno de los registros está mal escrito y fuera de rango, todos los demás registros, aunque estén correctos, se marcan con error hasta que se corrija el que está fuera de rango, por eso no daba con el registro erróneo. tuve que hacer también lo que comentabas, trabajar con un solo registro hasta tenerlo bien y posteriormente agregar los demás.
En conclusión, estoy usando los registros HR16385 y HR17409 para leer y escribir lo que el modbuspoll de la computadora me marca como
16384 y 17408 ( 0×4000 y 0×4400 )
Gracias y Saludos!