C2440 ('initializing' : cannot convert from 'std::_Vb_reference<_Alloc>' to 'bool &') を取得しています。これは、IntelliSense によってタイトルのエラーに変換されます。
このエラーが何を言っているのかはわかりますが、なぜそれが言われているのかはわかりません。以下のコードでは、このエラーが発生します。
std::vector<const UINT>::iterator oIter;
oIter = std::find(vecuClassID.begin(), vecuClassID.end(), uClassID);
const UINT uDistance = std::distance(vecuClassID.begin(), oIter);
bool& refbStaticSectionInitialized = *(vecbStaticSectionInitialized.begin() + uDistance);
エラーは最終行で発生しているようです。Visual Studio では、逆参照演算子に赤の下線が引かれています。CRITICAL_SECTION でまったく同じことを行い、エラーを生成しないコードがあるため、これは混乱を招きます。
std::vector<const UINT>::iterator oIter;
oIter = std::find(vecuClassID.begin(), vecuClassID.end(), uClassID);
const UINT uDistance = std::distance(vecuClassID.begin(), oIter);
CRITICAL_SECTION& refhStaticSection = *(vechStaticSection.begin() + uDistance);
bool がプリミティブであることと関係がありますか?