Das überprüfen auf sollte gegenüber deiner Variante schneller sein, aber deine kannst du ja ganz einfach optimieren.
Delphi-Quellcode:
var
tmp: Int64;
tmp:=StrToInt64Def( String, 0 );
if tmp <= 0 Then
Cardinal := 0
else
Cardinal := tmp;
P.S: Da war jemand ein Tick schneller