Hola,
Puedes utilizar el compomente "TTimer" que encontrarás en la pestaña "System" de la "Paleta de componentes" de Delphi. Lo sitúas sobre el formulario en cuestión y, cuando se cree dicho formulario, echas a andar el "Timer".
En una variable global o en una propiedad del formulario (de tipo Integer) puedes ir guardando la cantidad de segundos que lleva el formulario abierto. Esto lo harás aprovechando el evento "OnTimer" del componente "TTimer", el cual se ejecutará en un intervalo que puedes configurar mediante la propiedad "Interval" y que por defecto es de un segundo.
Vas sumando segundos, sumando segundos, sumando segundos... y, en el propio evento "OnTimer" sitúas una condición "de salida", es decir, suponiendo que el formulario debe permanecer visible durante 30 segundos podrías escribir algo así:
Código Delphi
[-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Inc( FVariableDondeGuardosLosSegundos );
if FVariableDondeGuardosLosSegundos >= 30 then
begin
Timer1.Enabled = false;
Form1.Close;
end;
end;
Nota: Según te digo arriba deberías ir incrementando la variable segundo por segundo hasta que... bueno. Yo he preferido luego, puesto a escribir un sencillo ejemplo, decrementar el valor de la variable en lugar de incrementarlo. Puedes verlo en el proyecto de ejemplo que adjunto a este mensaje.