Ambos son muy potentes, ya que la tendencia es a que ambos soporten lo mismo, de hecho la tendencia es que todo lenguaje que utilice el CLR soporte todo lo que el CLR soporta...
Bien pues ambos ( VB.NET y C# )son lenguajes que generan CIL , sin embargo por parte de microsoft siempre el primero en implementar todos las cosas del CLR es C#, puesto que en efecto C# fue el lenguaje que originalmente se concibio para usarce con el CLR.
Por parte de Mono y de Boo las implementaciones soportan de manera nativa C# en sus compiladores, desde luego debido a que C# ha sido diseñado desde el comienzo como el lenguaje 'mayor' dentro del CLR.
Por mi parte el consejo es que te vayas por C# por dos motivos:
1- Siempre es el primero en tener las nuevas caracteristicas que se le adicionan al CLR
2- Por ser el lenguaje 'mayor' de CLR, la tendencia es que cualquier CLR que hagan venga con soporte para C#, asi que si aprendes C# te puedes programar en linux, mac, unix o lo que sea y podras programar normal en el porque sea cual sea el CLR que uses seguramante tiene soporte para generar CIL desde C#... no siendo asi con VB.NET y otros lenguajes que hoy dia usan CLR.