Описаный Вами вариант универсален и, действительно, позволяет работать с внутренним буфером малого размера. Лишь бы не успевал заполниться между циклами ПЛК.
Но. Такой вариант требует большего количества обслуживающего кода, а это не есть гут. Сложнее пишется, сложнее отлаживается, сложнее изучается другими. По этому, когда протокол позволяет, я предпочитаю другой алгоритм:
Послал команду -> выждал паузу -> считал из внутреннего буфера весь ответ.
Реализация получается проще, работает надёжно. Вот только знать бы заранее размер буфера

P.S. Приходилось работать с вычислителем EK 260 через SysLibCom по описанному "простому" алгоритму - никаких проблем, кроме косяков в RS-485 в самом вычислителе, несоответствия настроек и описания и неполноты описания протокола.