Como saber se um form está aberto ou não
Quando um form ou outro objeto não existe, a variável deve estar “nil”, então veja o que fazer para saber:
Exemplo:
form1 := Tform1.create();
a variável form1 passa a ter um valor diferente de nil. Logo, faça o teste:
If form1 = nil then {form não criado ainda ou já foi fechado}
Lembre-se de fazer o form1, no seu evento close, receber nil.
form1 := nil;
Assim ele estará fechado e não existirá mais.