I can't agree 100% with you but i understand what you mean.
In fact everyone with a minimum of brain and a load of patience and time can be a programmer. If .NET is your first language, in theory, you'll or should learn it step by step the "recommended way". This include at least Pinvoke, Marshalls, Delegate, Garbage Collector and all other new stuff.
But if you're a long time user of another language, you might have a lot of problem to include and understand some new requirement and loose the "good-ol' way" to do things. But yeah, you can disable almost everything of these and keep using the ol' way... you can even use most, see all, old .COM components.
As long as the framework work great, there's no real problem, but if one day MicroSoft's developers screw something in... your customer could give you a call... and then you'll have to prove 'em it's caused by the Microsoft's Framework problem...
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Bookmarks