Моя ошибка. Странно, но нулевой указатель, возвращенный из InitializeConditionVariable, является правильным и может использоваться. Моя проблема была с SleepConditionVariableCS, которая никогда не возвращалась, но это была проблема с CriticalSection, а не с условной переменной ...