Считываю через конвертор ER-108. Но это не суть.
Cуть как раз в этом. Ваш прибор - это конвертер интерфейсов, он передает пакет, полученный по TCP, в COM-порт без каких-либо преобразований.
"Готовая программа" отправляет по TCP кадр протокола Modbus RTU (обычно это называют Modbus RTU over TCP) - т.е. ПР200 в итоге получает фрейм Modbus RTU и корректно его обрабатывает.
Вы же с помощью Nmodbus4 отправляете по TCP кадр протокола Modbus TCP (с MBAP Header и без CRC) - и когда ПР200 получает фрейм Modbus TCP, то, естественно, считает его невалидным.
Вам надо разобраться, как с помощью вашей библиотеки отправлять по TCP фреймы протокола Modbus RTU.