У ПЧ должны быть параметры: допустимое время между управляющими пакетами и реакция ПЧ при превышении этого времени.
Да! Искать глюки в чужом коде - то еще занятие. Посмотрите сколько уже вышло релизов на тот же Owen Logic. Каждый новый как решает, так и добавляет проблем.
Поэтому правильного решения нет и никогда не будет, т.к. здесь рулит человеческий фактор.