В этой теме я кажется нашел ответы на мои вопросы. У меня похожий протокол обмена с весовым индикаторм СІ5010A (CAS). И тоже самое происходило с ответом. C библиотекой UNM я как-то добился правильного приема, но он был очень громоздким. Следуя рекомендациям в этой теме, я добился правильного приема с библ. SysLibCom и примером Example_SysLibCom с форума. Действительно нужно поставить таймер после передачи команды и перед приемом ответа, я поставил 100 мс.
С 485 у меня тоже какие-то глюки, как-то ни сразу идет нормальный обмен. Поэтому попробую сделать переделку по методике Федора. Пример пока еще очень сырой, когда доработаю могу выслать.