TCHARで宣言されていたものが文字セットをUnicodeにするとWCHARで処理されるわけですが、
こうなると CFontDialog に CHARFORMAT 構造体の szFaceName が上手く渡せません。(フォントダイアログのフォント名の初期値として処理されない)

これは WideCharToMultiByte なんかを使用して ASCII に直し、szFaceName に入れなおさないとダメってことですか?