Hola
El problema que tienes es que el programa se queda esperando dentro de ese bucle a que le llegue la variable de salida del bucle que tiene que venir de pulsar el boton ,como Visual C++ asi como todas las aplicaciones de windows 32 funcionan mediante el paso de mensajes, nunca cojera el mensaje que se le pasa al pulsar un boton.
Deberas apañartelas para que el programa pueda salir del bucle y hacer un polling de los mensajes, si no se te quedara en el bucle indefinidamente.
Una manera de hacerlo seria lanzando un hilo (thread) que hiciera el cometido del bucle y asi el hilo principal se quedaria esperando los mensajes
Espero que te sirva
chao