Neanche io ho capito tanto bene..

Tu vuoi sapere se un evento è settato senza aspettare?
Se è così, basta che gli passi 0 come parametro dwMilliseconds.

MSDN
If dwMilliseconds is zero, the function does not enter a wait state if the object is not signaled; it always returns immediately.
ad esempio
codice:
// Se entrambi gli eventi non sono settati...
if (
	WaitForSingleObject(hEvent1,0) == WAIT_TIMEOUT &&
	WaitForSingleObject(hEvent2,0) == WAIT_TIMEOUT
)
	SetEvent (hEvent1);