Тогда при первом же вызове функции порт закрывается. Другими словами мне надо обработать отключение устройства. SerialPinChange.Break из-за некоторых особенностей использовать не получается.
Как Вы себе представляете проверку всех битов оператором switch? На сколько я знаю, с# не допускает, чтобы выполнение, начавшись в одном case, продолжалось в следующем.