Efectivamente, con la API InternetGetConnectedState puedes saber si un equipo está conectado a internet y también de qué modo (conexión directa, a través de proxy...)
Si quieres, puedes descargarte ejemplos en código fuente desde mi página:
www.txibit.es.fm
www.txibit.es.vg
Te cuento que uso esa api, pero tengo problemas cuando intento instalarla con el instalador que me generó el asistente de VB.
Sabés por qué puede ser?.