Ошибки при открытие нету, проблема в том что програмное и обычное пользовательськое открытие отличаютца. (Я так понимаю). Потомучто после процедура создания и чтения с КОМ порта разные результаты выдает.
П.С. Если хоть раз открыть руками то потом и програмного все работает!?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший