Tanto las aplicaciones de consola, como las que tienen ventanas o incluso los servicios necesitan de un bucle que se esta ejecutando continuamente y mantiene la aplicacion "viva". En el caso de las aplicaciones con ventanas es el bucle de mensajes, y no se sale de el hasta que se recibe el mensaje WM_QUIT.
Este hilo puede que te sirva:
http://www.clubdelphi.com/foros/showthread.php?t=43780