HDC hdc = CreateCompatibleDC(hwnddc);
で作りたての何もビットマップを持たない"hdc"を
bmp = CreateCompatibleBitmap(hdc, width, height);
と使ってビットマップを作るとモノクロモードのビットマップができてしまう。
bmp = CreateCompatibleBitmap(hwnddc, width, height);
のようにCreateCompatibleDCで参照したハンドルから作るとちゃんとモノクロじゃないのができる。
ていうか今どきWin32SDKベースをいじくるのかよ!