2) Have more free options available for small businesses and teams running the .NET stack. BizSpark is a step in the right direction, but for cash-strapped startups who want to test ideas out in a production setting, it still doesn't compete with the free open-source alternatives.
3) Focus more on getting program installations done right. For example, SQL Server 2008 has taken a step backwards in terms of installation. Errors happen quite frequently during the install/upgrade process--it shouldn't take several hours of fighting one installer to get it working properly.
4) For popular third-party programs that work correctly with Windows, it would be nice if Microsoft had an online database of checksums that Windows can transparently check the program against. If everything looks good, don't present the user with "Confirm/Deny" choices, just install it. Otherwise users become jaded and used to clicking on "Confirm" even for popups that require more thorough inspection.