Sure, there was pent up demand for true full OOP with inheritance, operator overloading, etc. And, there is no question that we were all desperate for implementable and reliable multithreading also. Sure Microsoft listened, but only to a degree. They ignored the most important piece in their solution toward providing the fixes that VB6'ers were clamoring for.
What we didn't count on is Microsoft's lack of interest for not a smooth but seamless migration path from VB6 to dotnet. Microsoft left out a huge gap in the on-ramp from VB6 to dotnet. Could they have done more? That hurt a lot of people and put a bad taste in a lot of mouths. Who does that to their customers? The bitterness of that bad taste left in the collective mouths of literally millions VB6'ers will not wear away with time.
Microsoft must first remember, understand and incorporate this one singular principle of technology development described here: The Model A had four wheels and the standard axle width of the Roman chariot as far back as 2000 BC. The Tesla roadster is STILL based on those same two basic design pattern - four wheels and the same axle width of the chariot.
I believe that Microsoft still has the opportunity to reconcile this. And, I don't mean just a passive it-just-works kind of solution as evidenced by the continued support for VB6 through EOL of Windows 7 & 8. We want something more than this passive gesture. We want no less than an active, effective and robust solution from none other than Microsoft. I needn't elaborate on what's been discussed now many times over for some years.