La solucion a tu problema es utilizar la tecnica de double buffering:http://www.latindevelopers.com/vcpp/bitmap/doble-buffer/El ejemplo de la pagina utiliza MFC, es cuestion de acomodar el codigo para que puedas utilizarlo en tu aplicacion Win32 SDK.
pero ahora que funciona la captura de datos y la graficacion a la velocidad que quiero, y que solo me falta el redibujo estaba pensando en utilizar DirectX, pero no se si se pueda hacer...