pues discutimos esto hace poco en este hilo:
http://www.clubdelphi.com/foros/showthread.php?t=11348
básicamente puedes:
-mandar un mensaje a la ventana para que se cierre.
-implementar una interface
-verificar antes de hacer el show! (esta es la mejor, sin duda).