It looks like I cannot callback a VBA function from a parallel thread
started in my proprietary DLL. On other way to do this is to have my DLL
thread post a message to the running VBA form. That VBA form could then
process the message by calling the appropriate VBA function and provide the
response directly to the DLL.

Does that sound right?

I know how to post message and process that message in a dialog form created
with Visual C++ but I do not know how to do it in VBA.

Any help is welcome.