Hola...
Para hacer lo que quieres, puedes hacer una búsqueda por el tipo de clase de la forma y si ya existe una instancia de esa clase, solo la mandas al frente:
Código Delphi
[-]
procedure TPrincipal.AbrirEmpresa1Click(Sender: TObject);
var
I: Integer;
begin
for I := 0 to Pred(MDIChildCount) do
if MDIChildren[i] is TEmpresas then
begin
MDIChildren[i].BringToFront;
Exit
end;
with TEmpresas.Create(Application) do
begin
FormStyle := fsMDIChild;
OnClose := AlCerrar;
Show
end
end;
Saludos...