una alternativa es ejecutar el procedimiento OnClose desde el mainform, pero no se que parametros pasarle.
Código Delphi
[-]
procedure Tmainform.Button1Click(Sender: TObject);
var i: integer;
begin
For i:=MDIChildCount-1 downto 0 do
begin
mdichildren[i].OnClose(nil, cafree);
end;
end;