I had the same problem I beleive, and here is the workaround that fixed it for me.
first of this is on Vista Business 32bit, using a linksys router and a CNet 8port switch.
I have been having this problem for a couple weeks were I had to manually do the reassign ip address that vista does for you. After the new ip was assigned it would work. (for some reason it would not auto connect after reboot)
I then went to run, and typed "cmd" then "ipconfig /all" to see what address the computer was seeing as its ip. This system is on a static ip, using the linksys router to handle all the dhcp clients, however for some reason this vista machine was trying to use the static ip address or something similar to it as the ip address for the computer. As you know this should not but, but rather it the router should assign an ip like "192.168.1.131".
This was the main problem because the computer doesn't have the correct ip address to connect to the router to connect to the internet.
SO, then you can go to Control Panel --> Network Connections, I have one called "Local Area Connection". Right click on this connection, and click properties. Next Click on "Internet Protocol Version 4 (TCP/IPv4), and click the properties button.
Put a dot next to "Use the following IP address:" if you know your routers ip address, you will enter this in, but then change the last 3 numbers to an address not in use, for example, linksys router address is "192.168.1.1" by default, and it usually starts assigning ips from "192.168.1.100" and higher. I chose "192.168.1.131" as my ip address I entered. Next, Subnet mask should be "255.255.255.0" and then set the default gateway to the same as the router ip for me "192.168.1.1"
Next you can enter your dns server address, if you have a static ip your isp will give this to you, if not you will need to get onto a computer that has access to your internet connection and again go to run and type "ipconfig /all" and you will see "DNS servers" with 2 sets of addresses. You need to just simply put these addresses in the "preferred DNS server" and "alternate dns server"
then hit ok, and you should be set.
This fixed my problem, because the computer was not getting an ip address correctly from the router.
hope this helps.
-adam