>function GetFileInfo(fname:string):TSearchRec;
>begin
>  if 0<> FindFirst(fname,FaAnyFile,Result) then Abort
>  else FindClose(Result);
>end;

エラーチェックにはWin32Check使いなよ。
それから構造体返すのはオーバーヘッドが大きすぎる。
エロ画像管理には数千数万のファイルを処理することが要求されるからね。

procedure GetFileInfo(fname:string; var Result: TSearchRec);
begin
 Win32Check(FindFirst(fname,FaAnyFile,Result) = 0);
 FindClose(Result);
end;