This is just a thought, and may or may not apply to your particular solution:
Instantiate your child forms when the app starts or early on. Use Show/Hide and override the Close by the user. Show-ing a minimized MDI child may restore it if it's minimized within the parent - you'll have to test that.
In the end, you're reusing your child forms, not creating umpteen multiples of them, so maybe that works for you and maybe it doesn't.
Chris