denn du verwendest {$ifend}
anstatt {$ENDIF}
und das kann nicht jeder Compiler.
Sollte das nicht genau andersherum heißen? Delphi-Compiler vor XE4 verstehen kein $ENDIF als Abschluss für $IF, aber $IFEND verstehen alle (ab Delphi 6 natürlich, vorher gab es kein $IF).