Все же не совсем понятно - зависает программа в OpenPort или функция (без отладки) отвечает неправильно?