this might prompt some other ideas
When I was installing Gentoo, I obviously had to set everything up manually. After setting up the network cards, i could ping everyone locally just fine, but if i tried to ping out of the lan at all, I'd get "host unreachable". I had to add a route to the outside world. It tells the computer how to handle packets that are trying to be sent to the outside network.
That's what I mean by routing table. it's a list of rules telling how packets should be sent and routed. There are a lot more in a router, but each machine has atleast one rule, and that's generally just where the gateway is, how to get out of the current subnet.
In linux the command is route...
route add -net default gw 192.168.1.1 subnet 255.255.255.0 metric 1
Now, this is for use with a static ip, and ofcourse with Linux, so i don't know if it will help at all. If it's DCHP, the routing rule should be setup automatically setup, because the gateway address is one of the pieces of data that is returned from the dhcp server.
You'll have to do some research of your own of course, but this provides another route (pun, ha!) of investigation for you.
if you're runnign tracert and using the option to resolve host names at each hop (default action i beleive, but can be disabled), it can generally be slow regardless and isn't always a sign of network troubles.
You are able to ping local machines, but get 50% packet loss? (that's why i thought maybe it was a full vs half duplex problem). Although, a 100mbps nic is 100mbps half-duplex, or 200mbps full duplex. Not really useful, oh well.
We're off to get lunch, I'll check back later and see how it's going
/me out