MFC no es complicado. Nada de este problema tiene que ver con MFC. Tu problema principal es el uso del Serial.
Acerca del handle... La librería que usas, deberías leerla. Dentro, tiene un HANDLE, llamado hSerial. Es un miembro privado. Basta que le hagas un getter o que le agregues una función para esperar datos.
Para trabajar con un puerto, se utiliza CreateFile. Si ves en la librería, está usando CreateFile.
El códigoq ue te dieron no lo puedes poner ahí, en un lugar al aar y pretender que funcione. Eso no funcionaría ni en C++, ni en C# ni en ningún lenguaje. ¿Cómo vas a poner un if fuera de una función?
Lo que tienes que hacer, es poner ese código en el lugar en el que quieras esperar datos del Arduino. Puedes hacerlo con otro thread, o dentro de un punto en el que sepas que va a recibir datos. Digo esto, porque si te pones a esperar indefinidamente, bloquearás la aplicación.
Dicho esto, te dirá. No tienes por qué bloquearte para escuchar del Arduino como te dijeron. Es una opción, pero no la única. Basta con que cada cierto tiempo mires si hay datos con el read y listo. Ya que estás leyendo datos a la vez que muestras el formulario, te recomendaría trabajar o con otro thread, o con la función SetTimer (
https://msdn.microsoft.com/es-es/library/49313fdf(v=vs.80).aspx).