1) kann man problemlos threads mit delphi abbilden (multicore). ich weiß es gibt in .net nette sprachkonstrukte die das wesentlich vereinfachen - ich gehe aber davon aus das das noch kommen wird (will ich zumindest mal hoffen ^^).
Handgemachte Threads sind kein Thema. Aber die Entwicklung geht weiter, soll sich das Programm automatisch an die Anzahl der Kerne (und das werden zukünftig viele sein) anpassen, braucht man da mehr Logik. Das habe ich in diesem Beitrag gemeint:
http://www.delphipraxis.net/1073199-post153.html
In C++ gibt es dafür z.B. OpenMP, das wird von den meisten Compilern unterstützt, aber natürlich nicht vom C++ Builder.
In der Roadmap steht etwas von "Support for parallelization in the
RTL" bei Commodore. Das könnt eine Antwort auf Microsofts Concurreny Runtime sein.
http://msdn.microsoft.com/de-de/library/dd504870.aspx
Nur sind die wohl mal wieder früher dran und mit mehr Manpower unterwegs.