Quizás te interese hacer la prueba con esta función, que elimina un directorio y todos los subdirectorios que tuviere:
Código Delphi
[-]
procedure Tselecdir.borrarClick(Sender: TObject);
procedure borradentro(directorio:string);
var
n:integer;
Rbusqueda : TSearchRec;
begin
n := FindFirst(directorio+'\*.*',faanyfile, Rbusqueda);
while n=0 do begin
if (rbusqueda.Name <> '..') and
(rbusqueda.Name <> '.') then begin
if (rbusqueda.Attr = faDirectory) then begin
borradentro(directorio+'\'+rbusqueda.Name);
rmdir(directorio+'\'+rbusqueda.Name);
end else
deletefile(directorio+'\'+Rbusqueda.name) ;
end;
n := FindNext(Rbusqueda);
end;
end;
var
diractivo:string;
begin
chdir('..');
GetDir(0,diractivo);
borradentro(DirectLB.directory );
rmdir(DirectLB.directory);
DirectLB.directory := diractivo;
end;
La Función creo que fue creada por Juan Matesanz.
Un Saludo.