Для .Net 1.1 было написано несколько библиотек последовательных портов, поскольку в них не было встроенных классов для портов. Здесь является одним примером; Есть и другие, с открытым исходным кодом и коммерческие.
Вам не нужно использовать рамки; если вы используете что-то подобное, у вас будет доступ к коду вплоть до Win32. У вас может быть больше шансов поймать исключение таким образом.