Was heißt schneller? Es ging nur um die Ziffernerkennung:
Delphi-Quellcode:
try
StrToInt(stringVariable);
Result := true;
except
Result := false;
end;
ist ebenso elegant wie
Delphi-Quellcode:
Val(stringVariable, integerVariable, errorCode);
Result := errorCode = 0;
Auf jeden Fall ist beides vermutlich besser als der Weg, den du gewählt hast.

Zumal deine Funktion bei einer negativen Zahl wie -1,-2, ... versagen würde.