Поимел аналогичную проблему при написании драйвера для LPT. Порты там работали нормально но если я вырубал стандартный виндовый драйвер для LPT(чтоб не мешался)
то получалась картина аналогичная твоей-порты как отрубило. Видимо в драйвере надо как-то регать обладание портом, его порты ввода вывода и тд и тп. Но мне лень было разбираться(и так все работает). Я оставил все как есть(с драйвером).
Проверял и для COM — то же что и у тебя.
Методом тыка нашел один способ обойти проблему. Он конечно кривой но лучше не знаю.
Открываешь порт как девайс в виде CreateFile("COM1",...); и его порты магическим образом появляются(виндовый драйвер их как-то врубает).
ЗЫ. А вообще надо писать нормальные PNP драйверы. Тк мой драйвер полность игнорировал операционку при работе с железом, из за видимо чего и возникла проблема.