Hola, esta es una función que utilizo, es similar a lo que buscas, pero alguna utilidad le encontraras:
Código Delphi
[-]function Existe(Nombre: String): Boolean;
var
i: integer;
begin
for i:= 0 to Screen.FormCount - 1 Do
if Screen.Forms[i].Name = Nombre then
begin
Result:= TRUE;
Exit;
end;
Result:= FALSE;
end;
y para usarlo de esta manera:
Código Delphi
[-]procedure Tincio.BitBtn1Click(Sender: TObject);
begin
if not Existe('FPedido') then
begin
FPedido:=TFPedido.Create(self);
FPedido.Show;
end else
ShowMessage('ventana hija ya esta abierta!');
end;
espero te sirva,
Saludos.