Pues yo uso un módulo con apis y nunca he tenido problemas con firewalls ni antivirus.
El código del módulo es el siguiente:
' Constantes para las funciones Api
Const scUserAgent = "API-Guide test program"
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_FLAG_RELOAD = &H80000000
Const INTERNET_FLAG_NO_CACHE_WRITE = &H4000000
' Crea conexión a internet
Public Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" ( _
ByVal sAgent As String, _
ByVal lAccessType As Long, _
ByVal sProxyName As String, _
ByVal sProxyBypass As String, _
ByVal lFlags As Long) As Long
' Abre URL
Public Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" ( _
ByVal hInternetSession As Long, _
ByVal lpszUrl As String, _
ByVal lpszHeaders As String, _
ByVal dwHeadersLength As Long, _
ByVal dwFlags As Long, _
ByVal dwContext As Long) As Long
' Cierra conexión
Public Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
' Contenido del fichero
Public Declare Function InternetReadFile Lib "wininet" ( _
ByVal hFile As Long, _
ByVal sBuffer As String, _
ByVal lNumBytesToRead As Long, _
lNumberOfBytesRead As Long) As Integer
Y luego en un evento, una función o lo que sea, lo usas de la siguiente forma:
Private Sub Command1_Click()
Dim hOpen As Long
Dim hFile As Long
Dim Url As String
Url = "http://www.tuweb.com/i.php?var=asfasf"
hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, _
vbNullString, vbNullString, 0)
hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _
ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&)
End Sub
Yo siempre lo he hecho así y nunca he tenido ningún problema con antivirus ni firewalls y lo he probado en NOD32, en Kaspersky, en Norton, con el firewall de Windows, con AVGFree... nunca he tenido problemas... espero que te sirva.
Saludos!