ll problema deriva dal fatto che quella API non è asincrona e il VB6 è single threaded.
Quindi non risolverai mai in quel modo.
Il consiglio è di usare la API
URLOpenPullStream
http://msdn.microsoft.com/en-us/library/ms775128(v=vs.85).aspx
che è asincrona.
P.S. Nella variabile localFileName scrivi c. ma dovrebbe essere c: