VB ist was für Hobbieprogrammierer. Es ist als Einsteigersprache konzipiert und daher für professionelle Anwendungen nicht zu gebrauchen. Sieht bei VB.net schon wieder etwas anders aus, aber auch da gibt es noch viele Krücken, die eine saubere Syntax vermeiden.
Ansonsten kommt es halt wirklich stark darauf an, was du machen willst.
C findet sich in der Regel bei Systemprogrammierung, überall wo es schnell und hardwarenah sein muss. Auch dort wo man getrost auf einen grossen Overhead wie vollwertige objektorientierte Programmierung oder Speicherverwaltung verzichten kann.
C++ ist in Windows stark verbreitet, es ist immer noch sehr schnell und nativ, benötigt kein Framework wie Java oder .NET und bietet dennoch Features wie objektorientierte Programmierung.
C# ist erst mit .NET so richtig am kommen. Da es auf einem Framework aufbaut, lassen sich relativ schnell mächtige Programme aufbauen, ohne um z.B. für Netzwerkanbindungen das Rad neu zu erfinden.
Für Java gilt ähnliches wie für C#. Wenn es um Spezialprogramme für Unternehmen oder bei Java besonders Internet-Serveranwendungen geht, wird es meistens eingesetzt, weil es wie C# einem viel unnötige Arbeit abnimmt, dabei aber doch noch performant genug und portabel bleibt.
Ich persönlich würde dir zu C# raten. Da du bereits Erfahrungen mit VB.Net hast, kannst du die von dir benutzten .NET-Bibliotheken und Funktionen dort ebenfalls einsetzen, du musst dich nur an eine etwas andere und striktere Syntax gewöhnen. Zudem ist der Sprung von C# auf Java, falls du das später mal willst, enorm klein. Wenn du dann mal tiefer in den Kaninchenbau vorstossen willst, ist dir zumindest die Kenntnis der Syntax dann bei C und C++ ebenfalls von Vorteil.