I was going through a legacy code and found the following snippet:
MyClass::~MyClass() { EnterCriticalSection(&cs); //Access Data Members, **NO Global**
I second the comment from Neil ButterWorth. Absolutely, the Entities responsible for deleting and accessing the myclass, should have a check on this.
This synchronisation will start actually from the moment the object of type MyClass is created.