Наиболее распространенным источником таких ошибок является порт, который уже открыт каким-либо другим приложением или часто предыдущим (выполненным, но забытым для уничтожения) экземпляром вашего кода.
Чтобы проверить эту гипотезу, проще всего запустить другую программу, которая открывает тот же порт (например, Hyperterminal), когда вы получаете сообщение об ошибке. Если это также не помогает, попробуйте найти, кто держит порт.
Кроме того, Portmon - полезный инструмент для устранения подобных проблем с последовательным портом.