а пройтись по всем компортам вручную, просто каждый раз создавая и открывая устройство COM%1 от 1...MAX, где MAX максимальное колво устройств в системе. Запомнить удачно открытые устройства и дальше работать только с ними. Если изменилась конфигурация, нажать на кнопку "Найти" и опять прогнать цикл открытия ком-портов. Я бы так сделал. При чем можно в несколько потоков открывать для ускорения сканирования.
У меня так сделано сейчас и я хочу от этого отойти, получая реально имеющиеся порты.
А вот с WinAPI разобраться нахрапом не смог ибо программист я начинающий, а те коды, которые в инете находил не заводились. Если вам не сложно можете скинуть работающий пример?