Welchen Sinn hätte es sonst, dass es einerseits ein LongWord und einen Cardinal gibt? Ich meine, wenn ich eine portierbare Anwendung schreiben will, dann ist es nützlich, einen Zahlendatentypen zu haben, der Wortbreite hat.
Und dass ein Integer nicht das gleiche ist wie ein int, naja, was ist so schlimm daran? Ein String in Delphi ist auch kein String in C und ein Byte/Char in Delphi muss (gemäß Standard) auch nicht unbedingt ein char in C sein. Sogar bei Booleans gibt man ja in Delphi, wenn man eine
DLL importiert, nicht "Boolean" an, sondern "LongBool".
Ich würde es für sehr sinnvoll halten, wenn es weiterhin so bleibt: Es gibt zwei ordinale Datentypen, die immer Wortbreite haben, jeweils einer vorzeichenbehaftet und einer nicht und dann je zwei ordinale Datentypen für jede Zweierpotenz von Bytes darunter.