Ciao oregon, innanzitutto grazie per l'intervento.
Sto scrivendo una DLL e ho dovuto impostare i riferimenti a Winsock come se fosse una libreria activex (Menù: Project -> References), non posso fare quello che si fa di solito e aggiungerla come component (Menù: Project -> Components) e poi aggiungere il component in un un form. Il form non c'è proprio, ho solo una classe dentro la DLL e metodi funzioni della classe.
Questo comporta che non ho a disposizione gli eventi di Winsock; solo proprietà e metodi (o funzioni).

Ho pensato anch'io che si trattasse di un problema di attesa tra SendData e GetData e per fare debugging ho inserito una funzione sleep che tiene in standby l'esecuzione per un determinato tot di tempo.

Il metodo Sleep era questo (dichiarato dentro un modulo bas):
codice:
Declare Sub Sleep Lib "kernel32" (ByVal milliseconds As Long)
la successione SendData e GetData avveniva così
codice:
    Do While winSck.State <> sckConnected
        DoEvents
    Loop
    If winSck.State = sckConnected Then winSck.SendData tmpHttpRequest

    Sleep 8000 ' dorme per 8 secondi
    winSck.GetData tmpHttpResponse, vbString
Non ha funzionato. Sono andato anche oltre gli 8 secondi di attesa, il socket viene addirittura disconnesso dal server per timeout ma la tmpHttpResponse è sempre vuota.

Credo ci sia qualcos'altro che sto sbagliando... ma non riesco proprio a capire.

Grazie ancora per l'intervento.
Ciao