@davewill: I think it started around post VS 2008, Luca Bolognese has a classic C9 video on the co-evolution of VB & C# - http://channel9.msdn.com/blogs/charles/luca-bolognese-c-and-vbnet-co-evolution-the-twain-shall-meet 

I'll give my .02 since I was the C# Product Manager and then the Lead Product Manager for Visual Studio Express Editions.

VB and C# (and C++ and J# ) were separate and at times competing teams. That meant that language, compiler, and IDE features were for the most part developed independently (the implementation of IntelliSense was a different code base depending on if you were in VB or C#). The original thinking was that VB and C# customers were different as personified by personas, Mort for VB, Elvis for C#, (and Einstein for C++). Each team had customer councils that would attend an SDR (software design review) to give feedback on the importance of language features. The issue was that this small base of customers wasn't always representative of the full customer base. A prime example was when we first discussed VS 2005 at PDC 2003, there was a lot of negative feedback on both teams that they wanted features the other team had since VB was implemented edit-and-continue and C# was added refactoring features (rename, extract method, etc). Additionally, VB developers wanted VB to have parity with VB language constructs, if C# gets generics, LINQ, etc, VB should get it as well. The VB and C# teams were later combined to be the languages team, although C++ still remains it's own separate entity.

Nowadays, it is primarily a syntax choice and most language/IDE features will work in both VB & C# with a few exceptions (ex: VB's XML literals or My).