>>232
BeginPaint()が二度呼ばれるから、が原因だな。

BeginPaintは、WM_ERASEBKGNDメッセージを発行するので、
DefWindowProcによって、Bitmapを描画する前に、
WNDCLASS.hbrBackgroundのブラシでクライアント領域を塗りつぶす。

処理の流れとしては、
WM_PAINT発行→BeginPaint呼び出し→WM_ERASEBKGND発行→Bitmap描画→
BeginPaint呼び出し→WM_ERASEBKGND発行(ここで先に描いたBitmapが上書きされる)→Bitmap描画→
となっている。