まだやってるんですよ。CScrollDialogImplってつまりはCScrollImplの問題なんですが。
さて、簡単に行くかと思ったが、そうは問屋が卸さない。水平スクロールバーが表示されたダイアログを、めいっぱい右側にスクロールした状態から、ウィンドウを広げてみる。ダイアログ内の表示が乱れます。

通常、この問題の対処は、ダイアログにWS_CLIPCHILDRENを指定するんですが、そうすると今度は、Group Boxの描画と、SetScrollOffset()時の再描画に問題が出ます。結論:WindowsはタコOS。まっとうな人間の使うもんじゃない。(追記:も少し詳しく説明すると、一つにはScrollWindowEx()とSetWindowPos()をこの順で呼び出すと干渉する-これはGDIがタコでしょう。逆に呼び出せばかなりましなのですが-のと、二つにはGROUPBOXコントロールが背景描画をしない-なんで?-ことによります。GROUPBOXはsubclassして逃げるにしても、ScrollWindowEx()とSetWindowPos()の干渉は、複雑な条件判断で醜い行為をしないと逃げられん)
対処としては、WM_SIZEの処理で、親クラスの OnSize() を呼び出す前と後で GetScrollOffset() の戻り値をチェックし、変更があったらダイアログ全体をInvalidate()すると。ああ、きたねえ(笑)。
さあ、いやなことは忘れて、自分の問題に集中しましょう(笑)。