Eine neue Funktion iif(<condition>, <truevalue>, <falsevalue>), die per Compiler Magic als Ternary Operator fungiert, also anhand der <condition> nur <truevalue> oder <falsevalue> auswertet, wäre sehr wohl möglich gewesen.
Oder man setzt es ganz anders um, indem "lazy evaluation", d.h. Auswerten eines Parameters immer nur dann, wenn tatsächlich ein Zugriff stattfindet, per Compiler Magic mit einem Keywort umgesetzt wird. Dann kann man es bei IfThen belassen, aber die Definition sähe aus wie "function IfThen(AValue: Boolean; [lazy] const ATrue: Integer; [lazy] const AFalse: Integer = 0): Integer; overload; inline;".
Und die Benutzung wäre nicht auf IfThen() beschränkt.