¡Entendido!
Me pasó lo mismo en un programa que hize en Delphi 2, ya hace mucho, lo solucioné colocando un manipulador de exepciones global y acallando el error (creo que luego colocando el
Action:=caFree en el onclose dejó de hacerlo, y creo que es por eso que siempre coloco este código en los close).
Si estamos en Delphi 5 o superior existe un componente llamado ApplicationEvents en la paleta addictional que tiene un evento llamado onException. Tan solo nos hará falta colocar algo de código
Código:
procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
//
end;
para que cuando ocurra no aparezca el error.
el ApplicationEvents lo deberás colocar el la ventana que se produce el error, sea la principal u otra.
Si tienes delphi 4 o inferior, deberia recuperar el programa, para acordarme de como lo hacia.
Espero que esto si te sirva finalmente