Hola
Coloca un timer en el form principal y pon este codigo.
Código Delphi
[-]
procedure TForm1.Timer1Timer(Sender: TObject);
var Sem : THandle;
begin
Sem := CreateSemaphore(nil,0,1,'Nombre.exe'); if ((Sem <> 0) and (GetLastError = ERROR_ALREADY_EXISTS)) then
begin
CloseHandle( Sem );
Halt;
end;
end;
En donde dice nombre va el nombre del programa.
Este lo que hace es verificar si esta activo, si lo esta (en un lapso de tiempo) lo cerrara, el timer es el que define el tiempo.
Saludos
PD: Ahi esta el ejemplo