Das hängt erstmal davon ab welches VB er benutzt. VB6 (Classic VB) is was komplett andres als VB.Net. Bis auf ein bisschen Syntax haben die beiden Sprachen nix gemein. Wenns VB.Net ist sollte es möglich sein C++ und .Net zu verbinden, frag mich aber nicht wie. Gehen tuts jedenfalls sicher irgendwie. Ob einfach is wieder ein andres Kapitel.
Von VB6 aus kannst du dlls verwenden (die du z.B. mit C++ geschrieben hast). Allerdings kannst du da nur auf Funktionen aus der dll zugreifen (weil dlls nix andres können) und musst dabei einiges beachten (z.B. richtige Aufrufkonvention verwenden (__stdcall)). Dieses Zeugs von wegen Klassen in dlls exportieren etc. is ein Feature von MSVC der das irgendwie hinbastelt, das bringt dir nichtmal mit nem andren C++ Compiler was und in VB dann natürlich gar nix (in VB6 gibts zwar Klassen, aber die würd ich als "etwas eigen" bezeichnen). Fakt ist dass dlls an sich nix andres können als Funktionen zu exportieren.
Es ist vermutlich möglich die SDL von VB6 aus zu benutzen (wenn man die entsprechenden Funktionen aus der dll importiert). Allerdings denk ich dass man schon einiges an Erfahrung mit VB braucht um das ordentlich hinzubekommen.
Ich hab selber mit VB angefangen. Den Umstieg von VB auf C++ würd ich als nicht ganz so leicht einschätzen, weil es doch sehr viel Neues und Andres gibt. Umgekehrt viel einfacher (Wenn du C++ kannst würd ich mal schätzen dass du nach nem Nachmittag die Grundlagen von VB drauf hast
).