Using a framework like .NET helps like crazy (.NET:Beautiful::Win32:Ugly) but the performance and reliability issues still persist no matter what you build your applications on.
Take for instance my current Vista install. Out of the blue it won't resolve DNS addresses - for no reason. Basically, the mess of code that is the TCP/IP stack - just like the other stacks in need of a from-scratch implementation on Windows - has gotten corrupted somewhere along the way to the point that reinstalling networking drivers, clearing ARP routes, etc. just won't fix.
Too much gunk === impossibly difficult to keep stable/reliable for any period of time.
And .NET is really just a layer on top of Win32, it was an MFC replacement, not Win32 replacement (which is what "new windows" really needs). Just getting rid of registry (along with stinky AutoRun section where every piece of shit software adds itself) and making system32 read-only-for-all would solve most problems.
But personally I don't care anymore.
My friend got a Dell laptop and it's touchpad (made by Logitech) greets him every morning with a pop-up. WTF?