Ich würde sagen:
Benutze die Sprache, die dir für das Problem am sinnvollsten erscheint.
Wenn du nur Delphi kennst, dann wird die Wahl nicht schwer fallen. Wenn du Jedoch weißt, dass es mit einer anderen Sprache leichter/effizienter funktioniert (und zwar so sehr, dass es sich auch lohnt, diese zu benutzen), dann musst du eben diese Sprache benutzen.
Grundsätzlich ist es jedoch
IMHO nicht falsch, wenigstens die Grundlagen einer anderen Sprache zu beherrschen. Das ist häufig sehr hilfreich. Zum Beispiel, wenn man Quelltexte analyisieren will/muss, um sie zu verstehen, oder wenn man Quelltexte übersetzen muss, oder einen bestehenden Quellcode erweitern will/muss.
Für den professionellen Entwickler sollten andere Sprachen jedoch kein großes Problem sein (bzw. sie sollten keine großen Mühen haben, die andere Sprache zu lernen). Denn das ist hilfreich bei spezifischen Kundenprojekten. Denn, wenn der Kunde ein Programm mit C++ geschrieben haben will, muss man C++ schreiben...
Gerade Privatentwickler sollten sich jedoch auf eine Sprache spezialisieren, und in anderen Sprachen höchstens Grundkentnisse (sofern man nicht zwingend weitere Kentnisse braucht...) haben.
Und C(++)-Grundkentnisse sollte man sich eventuell auch aneignen, wenn man mit der
WinAPI entwickelt (um das
MSDN zu verstehen. Geht aber auch mit VB o.Ä.... je nachdem, was du besser kannst). Bei .NET solltest du Grundkentnisse in C# haben (z.B. auch für das .NET
SDK und diversen Quellcode-Beispielen)