Okay... Vi starter forfra... Du vil udpege en tilfældig mappe på en computer...
Smut ind på 
www.pythia.dk tryk på "Komponenter m.m." og vælg i højre side den der hedder "FileSearch"... Installer den, smæk en Edit, en knap og en FileSearch ind på din form og kør følgende kode:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  FileSearch, StdCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    FileSearch1: TFileSearch;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    MineMapper: TStringList;
    procedure DerErFundetEnMappe(Sender: TObject; Directory: String);
    procedure SoegningenErSlut(Sender: TObject; Breaked: Boolean);
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Enabled := False; //Vi skal ikke kunne starte en søgning når vi allerede søger
  Caption := 'Søger...'; //Fortæller brugeren at vi søger
  FileSearch1.Recursiv := True; //Gør at den søger i undermapper
  FileSearch1.Filter := '*.*'; //Søger efter ALLE filer
  FileSearch1.Root := 'C:\'; //Vi starter søgningen fra C-drevet
  FileSearch1.OnDirectoryFound := DerErFundetEnMappe; //Sætter proceduren der
                                      //skal køres når vi har fundet en mappe
  FileSearch1.OnFinish := SoegningenErSlut; //Sætter proceduren der skal køres
                                                       //når søgningen er slut
  FileSearch1.Execute; //Start søgningen
end;
procedure TForm1.DerErFundetEnMappe(Sender: TObject; Directory: String);
begin
  MineMapper.Add(Directory); //Nu er der fundet en mappe, så smider vi den bare
  //ind i vores StringList, så vi senere kan se hvilke der er et vælge i mellem
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;//Gør at vi senere kan udvælge en tilfældig mappe i vores StringList
  MineMapper := TStringList.Create; //Opretter den StringList som de fundne
                                                     //mapper skal gemmes i
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  MineMapper.Free; //Fjerner StringList'en fra hukommelsen
end;
procedure TForm1.SoegningenErSlut(Sender: TObject; Breaked: Boolean);
begin
  Edit1.Text := MineMapper.Strings[Random(MineMapper.Count)]; //Uvdælger en
                                        //tilfældig mappe fra StringList'en
  Caption := 'Færdig!'; //Fortæller brugeren at søgningen er færdig
  Button1.Enabled := True; //Så kan vi trykke på Søg-knappen igen
end;
end.
Jeg har lige kørt programmet i gennem og her virker det fint!!!