non so davvero cosa "non ti funzioni"...

sono 2 linee di codice, che servono per interrompere la connessione:

codice:
Private Declare Function InternetAutodialHangup Lib "wininet.dll" (ByVal dwReserved As Long) As Long

Private Sub Command1_Click()
InternetAutodialHangup 0
End Sub
e posso assicurarti che funzionano.

quello che devi fare è prevedere la disconnessione allo scadere del tempo prefissato anzichè (come ho fatto io) tramite la pressione di un commandbutton

Boolean