Busting my head (and other valuable parts of my body) getting Bridged networking in virtual WindowsXP (Windows 7 doesn't have this issue) with Linux host because I needed it to have DHCP IP and make it available to my home network, basic websites would load and others would time out. Also accesing the machine via SAMBA would cause errors once in a while. Using standard NAT would work and resolve websites immediately, but the machine would get IP assigned by host machine and would not be seen to the rest of the home network and completely invisible in router.
Turned out that MTU (I believe 1500 default) is too high in WindowsXP, in my Debian Linux host I have MTU set to standard 1492, so I lowered the MTU in virtual winxp to 1469, and now everything is better, pages resolve immediately, pings don't time out and some websites (mostly running in ssl mode) are no longer causing trouble.
If you really need the virtual windows guest to have IP assigned (probably even static) by the main network because you can only do it with bridged networking mode, and are having this type of issues that I had then you can change the MTU in winxp through the registry.
So to do it just run regedit and do the following steps:
Once in regedit go to this key
NOTE: [Adapter ID] is going to be a unique alphanumeric sequence, you may have several, you need to find the correct one, usually the correct key will have more entries within it, you can add the mtu entry to all of them, it wont hurt if you do.
Once in the registry key for that interface, create a new DWORD value and call it MTU
Edit the MTU dword value, change the value to 1469 and make sure it is a decimal value, not hexadecimal.
Once you make that change you have to reboot.
And hopefully your bridged networking will be working as it should...