Der Grund ist einfach:
Length als Pascal sieht etwa so aus.
Delphi-Quellcode:
funtion Length(str: string): Integer; inline;
begin
if Pointer(str) = nil then
Exit(0);
Result := (PNativeInt(str) - 1)^;
end;
Und dann wird das nochmals mit 0 verglichen.
Dagegen ist die reine Prüfung auf nil natürlich kleiner, da diese Prüfung auch nochmals im Length enthalten ist.