I have 10 years professional programming under my belt, and VB is my "mother tongue". It's a great work horse, very stable, but has it's limitations, especially for writing distributed applications.
I love C# for some of the following reasons:
1. Supports all OO features - I especially like finally having full inheritance capability, which is something I often wished for in VB
2. Great development environment - when I have to go from VS.NET back to the old VB IDE, I really miss the useful features like the advanced intellisense. OK, it's not a language feature, but nothing like that is available (as far as I know) for VB6
3. Simple deployment - drag and drop the contents of your folder and you are good to go!
4. Can use it to write web apps (ASP.NET), windows apps, and even services
And then you have some of the next generation, such as WPF, which revolutionizes how we can design our UI's (want to make an octagon shaped button which contains a dropdown control inside of it - no problem!).
So sorry, despite the fact that VB has served me well over the years, I don't see much of an argument for using it over .NET. I would say it is mostly for supporting legacy apps now.
Joe Schwarz
Custom Software Developer