Occasionally, when I’m on the client’s site, the Internet connection on my MacBook Pro completely dies even though I’m connected to the Wi-Fi network and have a valid (that is, not self-assigned) IP address. Usually this is caused when the VPN I’m connected to (yes, even though I’m on the client site I still sometimes need to connect to their VPN) crashes my machine, and I’m talking gray-screen-of-death calibre of crashing.
The fix, I’ve found, is deleting the AirPort interface entirely from the Network preference pane in System Preferences, and then adding it back.
I have no idea why this works, but it does. So the next time you’re having serious connectivity issues and can’t find a cause, give that a try. I can’t say that it will always help, but it’s a non-obvious remedy that seems to work in this instance at least.