Aqui tienes algo sencillo q a mi me funciona
Código Delphi
[-]procedure borrar_directorio_actual(dir:string);
var
DirInfo: TSearchRec;
r : Integer;
begin
dir:=dir+'\';
r := FindFirst(dir+'*.*', FaAnyfile, DirInfo);
while r = 0 do begin
if ((DirInfo.Attr and FaDirectory <> FaDirectory) and
(DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
if DeleteFile(pChar(dir + DirInfo.Name))= false then
ShowMessage('No se ha podido eliminar el archivo: '+dir+
DirInfo.Name);
r := FindNext(DirInfo);
end;
SysUtils.FindClose(DirInfo);
if RemoveDirectory(PChar(dir)) = false then
end;