It sounds to me as though you might have a problem with the broadcast dhcp packet vista sends out to try and get an address from you router. Try following the instructions
here. It worked for me when I had trouble with some Zyxel routers. Worked fine on Linux and XP but Vista just plain refused to pick up DHCP details.