C++: linguaggio troppo complesso: complessa la sintassi, complesso l'utilizzo, non ricco di librerie come gli altri. Piu' adatto ad applicazioni in cui serve estrema efficenza (simulazione, robotica, calcolo numerico, videogiochi, elaborazioni audio/vide/immagini ...)
Python: sconsigliabile. E' un linguaggio piu' di 'scripting' che di programmazione.
Ci programmi tutto quello che vuoi, ma una volta raggiunti i limiti del linguaggio e delle librerie, non c'e' modo di superarli.
VB.net: paragonabile a C#, ma al giorno d'oggi, in cui tutti i linguaggi usano una sitassi stile C/C++, se impari C#, risulta relativamente facile passare un domani a Java, PHP, ecc.
Per il DBMS, usare MySQL/MariaDB oppure SQLServer, al momento e' ininfluente.
SQLServer e', ovviamente, perfettamente integrato con Visual Studio e .NET. Per usare MySQL, invece, ti devi dotare di librerie aggiuntive, ed eventualmente fare a mano attivita' che sono automatiche con SQLServer+VS.
Passare da C#/.NET a PHP e' un po' come passare dalla Fiat alla Ford: tutto quello che vorresti fare con PHP lo puoi fare gia' con C#/.NET. Non ci sono motivi per passare da una piattaforma all'altra.
A parte eventuali fisse e su tutta una serie di strane elucubrazioni mentali (Microsoft e' il Diavolo, l'Open-Source la Pace Dei Sensi, ...)
Anzi, da un certo punto di vista, PHP e' pure meno flessibile di C#/.NET