CreateCompatibleDC() に CreateCompatibleBitmap() を SelectObject() して
オフスクリーンで描画して、元のDCの BITMAP と切り替えるなんてことはOK?
BitBlt するより早くなると思うんだけど。

SelectObject() の説明に

「この関数は、指定されたのと同じタイプで、それまで選択されていたオブジェクトを返します。
アプリケーションは新しいオブジェクトを使い終えたら、必ず元の(既定)オブジェクトに置き換えるべきです。」

と書いてあるから駄目かな?