Lisa et al.
I was surprised when MS introduced VBA rather than expand VB to include good Office support. That would have been MUCH better. Now MS can hardly dump VBA type of support for Office. VB of sorts has its biggest alliance there. It may be the cause of VB having been poorly supported in the move to .NET. VBA programmers may like the .NET environment more than I do. I HATE IT!! Its fine for development of applications that spend most of their time awaiting user input - "Northwind" sorts of applications. In that sort of application the user uses up the time wasted in unwrapping APIs and excessive type checking, by simply pondering the next move. But applications that work harder and longer between user inputs will suffer seriously. Pointers alone can greatly speed progress through large corporate or technical data structures. I'm not talking about $20 payroll and employee records. Large applications doing a lot of work would surely be advised to avoid .NET like the plague.
Now that the .NET cancer is incurable I hope that VBA will be brought into VB (not the other way round). But there does need to be simple ways AROUND the .NET foggy marshland - a treacly morass it is. The talk of safe and unsafe code is foolish. Managed code has a safe (or do I mean unsafe) place to safely use pointers free of GC pilfering - where it places large (80Mb) objects or much-used objects (GLOBAL or STATIC) and I can see no reason why VB should not use this space for pointer arithmetic. The only problen that really needs attention is the provision of good, clean, direct, unencumbered access to addresses of data blocks (arrays, lists, collections, images, bitmaps) to READ AND WRITE! And unencumbered access to the APIs. It seems quite ironic (or do I mean ridiculous) that coding skills improved as one started to use Windows APIs directly in VB only to find that the deveopment of the language is measured by the degree to which we can no longer easily and directly get at them. Object-oriented programming is powerful - Class-oriented programming is often slow and tedious, never quite giving you what you really need.
.NET tries to help the (novice?) programmer from making type and catastophic mistakes. Perhaps it succeds. But in doing so it also seriously impedes the (competent! and confident!) programmer from making significant coding progress.
Since you invented the .NET quagmire you are the best to write a new best-seller entitled "Paths To Get Around In VB.NET" but with the "In" heavily crossed out!