Hey Jase,
For me InternetGetConnectedStatus worked ok for dialup and LAn settings.
I tried checking it when.
1] Dial up is installed but no connection. (I got INTERNET_RAS_INSTALLED and false in return)

2] Dial up connected. (I got INTERNET_RAS_INSTALLED & INTERNET_MODEM_CONNECTED& INTERNET_MODEM_CONFIGURED) and TRUE in return.

3] LAN but no Internet
I got (INTRENET_RAS_INSTALLED with FALSE return)

4] LAN and internet connected.
I got INTERNET_RAS_INSTALLED & INTERNET_LAN_CONNECTED with TRUE in return.

I tried several other conditions also and found it works ok. I didnt restarted the application and kept checking the diff. conditions by uninstalling TCP/IP , disabling LAN , disabling dial up default etc.

I tried this code on Win2k , I dont know how it works on 98 , and I guess it will work ok on XP.

What do you guys say , when did it actully failed for you ?

But I believe you that this way isnt reliable, MSDN says same. Thats why i am also interested in finding a perfect way.

I saw that Internet explorer also fools down in concluding the connection some times, like I saw if you disable the LAN and connect using dialup , and disconnect the dialup connection and reenable LAN , IE asks to go ONLINE showing dialup entries to use.
Have u observed it ? I think IE also dont have perfect way.