Das ist ein Problem bei MDIs.
Wenn ein Child maximiert ist, wird jedes neu aufgerufene ebenfalls maximiert. Daher wird ein neues Child, dass Du vom Programm her auf eine Größe setzt, dazu führen, dass das andere Child ebenfalls nicht mehr maximiert sein kann (Korrigiert mich, wenn ich da falsch liege). Die Folge ist, dass das ehemals maximierte Child seine vorherige Größe bekommt.
Ein Lösungsansatz wäre, das Maximieren zu verhindern. Wenn Maximize versucht wird, einfach die maximal verfügbare Größe in der der MDIForm ermitteln und das Child entsprechend einpassen.
Wenn Du dann das kleinere Fenster öffnest, sollte es keine Größenänderungen mehr geben.
(Ich hoffe, dass ich Dein Problem richtig verstanden habe).