Ah ... ecco ...
No, in VB6 gira tutto su un thread. I timer sono gestiti tramite il messaggio WM_TIMER comunque nell'unico thread della GUI.
Una Sleep, ovunque posta, blocca tutto.
Non ho comunque capito tutto il meccanismo che hai messo in piedi ...