The chaos in Microsoft's Windows client division is starting to weigh on the bottom line. In my opinion the analysts are giving them too much slack. The company is not at the top of their game, and the market doesn't pay a premium for anything less. (A quick calculation shows 5.5% earnings growth in client sales over the same period last year, but almost 30% growth in income from server sales).
Microsoft is doing a lot of things right - ASP.NET is very competitive on the server - but to grow from their current massive size, they have to do everything right. The company is still too reliant on client sales, which is a mature market. If client sales slip, it immediately shows up as a dent on the balance sheet. That's exactly what happened this quarter. For Microsoft to remain healthy they need to cannibalize Windows with their next cash cow. Instead they are draining Windows dry, looking for a new release to save the day.
By snubbing Linux as a first tier .NET platform they are missing a huge market opportunity. A lot of shops aren't going to consider .NET simply because it doesn't run on Linux or *nix. That just gives LAMP, Rails, and Java more room to maneuver for business Microsoft might have otherwise won.
It's a new game out there, and the OS is becoming a smaller piece of the puzzle. Microsoft is a making a classic mistake by trying to defensively protect the Windows fortress, but as Microsoft showed their competitors in the early years, playing defense doesn't work in this business. Microsoft needs to view Linux as an opportunity, not a threat. Time to start playing offense again.