This looks like a case of a person who is just starting to learn about computers (or more precisely networking) and will mess around with settings trying to "fix" a non-existent problem, only to make things worse.
If ping isn't working, it DOESN'T matter! as Rob said, a lot of computers will NOT reply to the ICMP packets. This is the case for most PCs running any sort of firewall.
By messing around with your network settings in an attempt to fix this "problem" you'll undoubtedly make the problem worse (for example- your internet works now, but change a few settings in an attempt to fix your "ping" issue and suddenly nothing works!)
regarding microsoft.com- their server simply doesn't respond to pings; It will accept connection requests via HTTP and FTP but will reject any ICMP packets. I imagine this is to reduce server load responding to these pings. A number of other companies web-sites will not respond to pings, either; in fact I cannot even ping some of the other machines on my own network, since they have a firewall that by default rejects ICMP packets.
why are so many things configured to ignore ICMP packets? quite simple, really- it makes the machine essentially invisible to ping sweeps made by hackers. This is the basic method amateur/wannabe hackers use to scan for their targets. they set up a program to ping a designated set of IP addresses (a certain subnet, perhaps) and then analyze the output to determine which IPs have a computer behind them (the ones that respond); they then perform further checks on each IP to see if it's "hackable" (exploits, backdoors, etc).
Aside from that- ping traffic can take up a good deal of a server's time if it is set to respond to it, especially for companies such as "microsoft.com" which has been the target of several distributed denial of service attacks via giant bot-net's pinging their server until it is so bogged down dealing with the ICMP traffic it can no longer properly service all the legitimate clients connecting.