Джеймс был прав в своем комментарии. Попробуйте это:
class Wrap
{
CRITICAL_SECTION cs_;
public:
Wrap()
{
InitializeCriticalSection(&cs_);
}
Wrap(const Wrap&)
{
InitializeCriticalSection(&cs_);
}
~Wrap()
{
DeleteCriticalSection(&cs_);
}
};
Такие вещи можно легко обнаружить с помощью AppVerifier из средства отладки для Windows.
Удачи!