Es gab aber einen Grund dafür.
Früher konnte der Compiler nur IFDEF, aber kein IF. (vor Delphi 6, glaub ich)
Als Kompatibillität mit alten Compileren mußte es also unterschieden werden, damit man es verschachteln kann.
$IFDEF + $ENDIF
$IF + $IFEND
Kann der Compiler noch keine Conditional-Expressions, dann kann man sie vor ihm so verstecken.
Delphi-Quellcode:
{$IFDEF ConditionalExpressions}
{$IF irgendwas <> 0}
{$IFEND}
{$ENDIF}
Würde man da jetzt für Beides das Selbe ENDE verwenden, dann täte der alte Compiler das erste ENDE schon erkennen und beim Zweiten meckern "Ende ohne Anfang".
Mit XE3/XE4 wurde dann in Delphi vom Compiler Beides gleich behandelt, aber das Error-Insight abreitet aber noch paar Jahre "korrekt" und zeigte es als Falsch, wenn man nicht nach der alten Regel vorging.
WARUM: Wenn du im Titel oder im Text "alle" Buchstaben großschreibst, dann wird da ein LowerCase drüber gejagt, weil das Forum davorn ausgeht, daß du "schreist".