自分のツッコミどころ自体がツッコミどころ満載って感じがする。

mzc.cpp
FormatV→_vscprintfとvsprintfに丸投げしろ。
TrimLeft/TrimRight→boost::algorithm::trim_rightあたりで十分。
そもそもCString要らん。std::basic_stringでいいよ。MFCと全く同じもの作るつもりではないんだろ、な?

mzc.h
ASSERT_POINTER周りでIsBadXxxPtr使っているけど、
そんな使わってもしょうもないって中の人も言っている。
http://blogs.msdn.com/b/oldnewthing/archive/2006/09/27/773741.aspx

今時CObjectとかやめてくれ。そんな共通基底クラスなんて百害あって一利なしなのがC++なんだから。
(まさにそのCStringみたいにCObjectを継承しないクラスがいくらでも作れるし、
intとか組込型も平等に扱いたいとなると共通基底クラスなんて一瞬で破綻する)

CString、コピー構築・コピー代入ありのクラスでswapないのはいただけない。
あと、CStringTクラステンプレート作ってCStringA/CStringW用意している最近のMFCを見習え。
AllocSysStringとかBSTRもクラス化しろよ。そこMFCに似せなくていいから。