SysComRead(ComHandle, ADR(rBuf), SIZEOF(rBuf), 0) не пробовали нолик заменить на другое значение и всетаки приемный буфер читать не прерывно, через операцию WHILE