This is a monumental effort, The trick!

You have to back-link all previous efforts to this one because it took me some time to figure out which one is new and which one is obsolete.

FYI, here is MZ Tools->Review Source Code results on modMultiThreading

Code:
CallbackTest
   Modules
      modMultiThreading (modMultiThreading2.bas)
         (General)-(Declarations)
            The constant 'HEAP_NO_SERIALIZE' is not used
            The constant 'ERROR_NO_MORE_ITEMS' is not used
            The constant 'WM_ONCALLBACK' is not used (it is used only inside commented block)
            The declaration Declare 'CreateIExprSrvObj2' is not used
            The declaration Declare 'VariantCopy' is not used
            The declaration Declare 'VariantClear' is not used
            The declaration Declare 'VariantCopyInd' is not used
            The declaration Declare 'GetCurrentThreadId' is not used
         Public Function EnablePrivateMarshaling( _
            The variable 'lType' is not used
            The variable 'bData' is not used
            The variable 'lSize' is not used
            The variable 'lRet' is not used
         Private Function FindThunk( _
            The variable 'lIndex' is not used
         Public Function UnMarshal( _
            The variable 'lStmSize' is not used
            The variable 'cSize' is not used
         Private Function MakeAsynchCall( _
            The variable 'pvArgs' is not used
         Private Function ThreadProc( _
            The variable 'hr' is not used
            The variable 'pContext' is not used
            The variable 'pProjInfo' is not used
            The variable 'lIsNative' is not used
         Private Sub FreeHeaderCopy( _
            The procedure 'FreeHeaderCopy' is not used
         Private Sub ModifyVBHeader( _
            The variable 'lModulesCount' is not used
cheers,
</wqw>