Compiles and runs fine with 2.2.1 here, I get all success 1 failure (as expected, since you go to .Count not .Count - 1).

I uses -O2 -S2 -XX -Xs for options.

With range check on I get some errors, but they seemed to be valid (I got none of the -1 problems). For example your code:
Code:
if AnsiCompareText(fNames[I], fNames[I+1]) > 0 then begin
Which is on line 112 of uFastList.pas is broken, because I + 1 is 1 too big for fNames. So the range check worked fine there.