MFCはスレッド毎に、そのスレッドで作られたハンドルとMFCクラスの対応表を作って
それを参照して対応が正しいが判断してるから、
別スレッドにポインタだけ渡すと、そっちのスレッドの対応表には無いからエラーになる

スレッド間で共有する場合は、HWNDを渡して
受け取ったスレッドでFromHandleを呼び出すと、
MFCはCWndの一時オブジェクトを作ってそのポインタを返し、
ハンドルとCWndの対応を表に書き込むからそれを使ってもエラーにならない

そのページに書いてあることが理解できないようじゃMFCなんて使えないぞ