Io ti consiglierei ASP.NET + C#. Focalizzato sullo sviluppo per windows, ma prevalentemente portabile grazie a mono (non totalmente).
Puoi godere di Visual Studio Express For Web e passartela piuttosto comoda.
Le conoscenze in C# inoltre ti saranno poi utili per lo sviluppo di applicazioni desktop che (con le dovute restrizioni) saranno portabili.
Per un vero ambiente cross platform puoi considerare java+framework annessi.
PHP non ti permetterebbe lo sviluppo desktop (almeno non direttamente).
VisualBasic meglio che lo lasci stare, puoi usare casomai ASP.NET + VB.NET.
Altri framework sono Ruby + RoR, Python + Django, Pharo SmallTalk + Seaside, erlang + vari (comprese soluzioni ad hoc), go + ..., ...
Nota che esistono altri migliardi di linguaggi e soluzioni, queste sono quelle mainstream.
Edit. Erlang e Go sono un po' più particolari rispetto agli altri.