言語機能やライブラリこそ似通ってるが、基本的には、DelphiはC/C++と同系統、C#/VB.NETはJavaと同系統。
ネイティブを対象としたコンパイラと、マネージド環境を対象としたコンパイラを比べ、
片方が片方の環境に対応しないから、駄目って、それは判断基準が違う。

DelphiでASP.NETのコードは書けないし、C#/VB.NETでWindowsフックDLLは書けない。何か問題が?

(マネージドコードではそれ専用に作られたC#が最適なのはわかりきっているので)
むしろDelphi.NETはManaged C++のようになって欲しいと思うのは僕だけ?
ネイティブとの仲介に使える言語がManaged C++だけというのは辛すぎる気がしてるのでObjectPascalで書けたら…
Delphi 7のMSILコンパイラって、詳細どうなんでしょ。