Если опрашивать разные регистры одного устройства - то признака нет. Вариантов решения несколько:
1. Опрашивать разные устройства по очереди
2. Опрашивать существующие регистры и отсутствующие регистры по очереди - тогда переход от кода ошибки к 0 - признак завершения.
3. Выставить минимальный таймаут, превышающий время ответа и если через таймаут+1мс не появилась ошибка - значит все ок.
4. Ну и хакерский трюк - взять адрес last error и по указателю туда писать не 0 перед подачей команды на обмен.
Выбирайте