Vielleicht bin ich nicht so schlau, aber wie soll man das konkret prüfen? Was er macht ist doch völlig legitim. Oder muss er vor dem Prüfen "ob eine Internetverbindung besteht" dann noch prüfen ob überhaupt eine Netzwerkkarte im PC steckt? Und davor prüfen ob ...
Ich dacht ihn stört der Timeout, wenn das eine globale Windowseinstellung ist, dann ists doch eher unschön daran rumzuschrauben oder nicht?
Könnte man ja vorher Pingen (aber da gibt´s ja auch einen Timeout :p)
Ansonsten dürfte das hier wohl keine große Verzögerung ergeben
InternetGetConnectedState, bzw.
INetworkListManager::GetConnectivity.