Please allow me to clarify.
Hi David, I'm talking about being able to receive and handle Win32 Notification messages etc. directly not ActiveX or com events.
Although the event sink in question hooked a COM event, it was sending regular user-defined WM_* messages back to the main thread. When the main thread received a specific message, it knew that the other thread had finished the task on which the main thread was waiting.
As I mentioned in my original reply, I eventually replaced the custom Windows message and its listener with a global variable. Since the global variable is visible to both threads, one of which only monitors, and the other of which only changes its value, it is as effective, and more efficient. Although I haven't done so, yet, I plan to post a guard, in the form of a named mutex, now that I've figured out how easy they are to use in WinBatch scripts (no extenders required, only a few DllCalls, which reminds me of a question I need to ask.. thanks!).