i see a possible problem
in addFile() you should replace this
if f.isRealFolder() and not f._is(_autoupdate)
and (findFirst(f.fullname+'\*.*',faAnyfile, sr)=0) then
repeat
if sr.name[1]<>'.' then
addfile(Tfile.create(f.fullname+'\'+sr.name), n, FALSE, TRUE );
until findnext(sr)<>0;
FindClose(sr);
with this
if f.isRealFolder() and not f._is(_autoupdate) then
if findFirst(f.fullname+'\*.*',faAnyfile, sr) = 0 then
begin
repeat
if sr.name[1]<>'.' then
addfile(Tfile.create(f.fullname+'\'+sr.name), n, FALSE, TRUE );
until findnext(sr)<>0;
FindClose(sr);
end;
let me know if this works