There are two bold sentences I have posted in this thread.

  1. DO NOT use STL in an MFC project if it's not absolutelly necessary.
  2. If for some reasons you are using STL in an MFC-based project, then put STL and MFC stuff in separate modules.

Not any "MFC rocks while STL sucks". Have somebody seen something like that?
MFC is good, STL is wonderful but IMHO, putting them together, in the same source code, like using std::vector<CString> instead of CStringArray, is not so brilliant idea.
No problem, it can be done but that doesn't really mean we do a better job.