Masz rację, C++Builder jest dobry do ćwiczeń. :)
Rynek aplikacji okienkowych opiera się głównie na QT i wxWidgets. Obydwie biblioteki są darmowe w użyciu (są jednak różnice w ich licencjach!), są w pełni multiplatformowe (to jest ważne w tworzeniu profesjonalnych aplikacji - nie zamykać sobie potencjalnego rynku zbytu), oferują podobne możliwości. Osobiście wolę wxWidgets, ale to kwestia gustu. Gdzieś za nimi majaczą GTK+ czy inne podobne.
Co do rozterki "framework vs własny silnik" to odpowiedź na pytanie jest prosta i trudna jednocześnie. Zależy od skali projektu oraz 'skali' Twojego teamu. Jeśli planujesz coś prostego, nie ma żadnych przeciwwskazań aby pisać wszystko od zera, wykorzystując jakąś bibliotekę multimedialną, jak Allegro czy SFML. Polecam, zwłaszcza na początku przygody z programowaniem. Takie tworzenie daje naprawdę sporo frajdy. :)
Większe projekty już mogą wymagać użycia frameworku, który "czyni całą magię". ;) Coś jak Unity, czy takie tam. Nie wiem, bo się nigdy nie interesowałem. >.-
Jeśli idzie o 3D, nie musisz się "pchać" w gołe API, jak OpenGL czy DX. Do tego też są biblioteki, jak Ogre3D, czy OpenSceneGraph (ten ostatni wygląda świetnie, spójrz sobie na to, jak zachwalają go developerzy OpenMW na ich blogu: http://openmw.org/en/).
Jakieś pytania? ;)