you are right, but the code was not supposed to make a exception and i did not predict such a case, i'll fix it, it will just return no path status.

edit:

actually the path finder tried to predict such a case, but the code is wrong:

change:
if high(astack) = 0 then begin patherror:= true; exit; end;

to:
if high(astack) = -1 then begin patherror:= true; exit; end;

and the path finder will tell you that there is no path:

astar.Found = false

edit: here is fix:

http://www.gtatools.com/temp/astar1.rar