Hola micro_Pepe, se que el hilo es viejo y ya no te servira, pero creo que te interesara saberlo.
es un poco latoso el tener que seleccionar el puerto COM, más lento y menos fiable
Yo he hecho muchos programas en C# y cdc, pero me molestaba al igual que a ti tener que seleccionar el puerto com.
Así que desarrolle un programa, con ayuda de captura de excepciones que secuencialmente en el evento de abrir el programa, en el de abrir el formulario hijo, o al darle a un boton conectar, pregunta a todos los puertos com disponibles en el ordenador, el puerto que no responde nada es capturado por la excepción y pasa al siguiente, así hasta que pregunta al que tiene tu maquina y este le responde el mensaje esperado.
De esta manera tu maquina se conecta automáticamente y totalmente transparente al puerto COM correcto nada mas enchufar el USB.
Así tienes la ventaja de la facilidad del USB cdc y lo rápido y sencillo de conectar del hid.
Un saludo.