Если, кому интересно, вот решение. В общем, разница между RTU и TCP и , видимо, прочими "модбасами" в заголовках и наличии контрольной суммы. Возникла мысль поменять местами клиентов, то бишь comport и TCP клиента в библиотеке, но уж очень там код мудреный. Наутро пришла мысль просто подкинуть другого клиента в коде. И сработало. Для этой библиотеки, как я понял все без разницы. Создаем мастера, он формирует заголовки, а функции для всех одни. А мастера "всеядны". Заговорился, вот код.
Создаем клиента TCP:
tcpClient = new TcpClient();
IAsyncResult asyncResult = tcpClient.BeginConnect(ipAddress, tcpPort, null, null);
asyncResult.AsyncWaitHandle.WaitOne(3000, true); //wait for 3 sec

И вместо создания мастера TCP создаем мастера RTU :
masterRtu = ModbusSerialMaster.CreateRtu(tcpClient);
ushort[] rtrtgf = masterRtu.ReadInputRegisters(16, 512, 3);

И он прекрасно отправляет по сети посылку вида RTU и ПР200 через конвертер начала слать ответы. Ну пока связь прерывается, еще немного глючит кое где, но это я уже думаю детали.