Non preoccupatevi di rispondere, ho risolto. Vi posto il codice delle due funzioni necessarie per la risoluzione del problema

Questa è la funzione principale alla quale viene passato il parametro ApplicationName di tipo String (nel mio caso è 'IEXPLORE.EXE')
codice:
Function IsApplicationRunning ;

Var
  Data            : TProcessEntry32 ;
  Handler         : THandle ;
  ProcessoTrovato : Boolean ;

Begin
  ProcessoTrovato := False ;
  Try
    Handler := CreateToolHelp32Snapshot ( TH32CS_SNAPALL, 0 ) ;
    Data.dwSize := SizeOf ( TPROCESSENTRY32 ) ;
    If Process32First( Handler, Data )
      Then Begin
             While Process32Next ( Handler, Data )
               Do Begin
                    If ( GetName ( Data ) = ApplicationName )
                      Then Begin
                             ProcessoTrovato := True ;
                           End;
                  End;
           End;
  Except
    //
  End;
  IsApplicationRunning := ProcessoTrovato ;
End;
Questa è l'implementazione della funzione GetName a cui passo il parametro Data di tipo TProcessEntry32

codice:
Function GetName ;

Var
  Posizione        : Byte ;
  NomeProcesso     : String ;
  RicercaTerminata : Boolean ;

Begin
  NomeProcesso := '' ;
  Posizione := 0 ;
  For Posizione := 0 to 11 //11 è la lunghezza del nome del processo 
    Do Begin               //che si vuole ricercare
         NomeProcesso := NomeProcesso + Data.szExeFile [ Posizione ] ;
       End;
  GetName := NomeProcesso ;
End;
Per il corretto funzionamento bisogna includere le librerie ShellApp e TlHelp32

Ciao a tutti