Chris,
>It seems more proper to me that the caller should disable itself, rather than asking the called form to do so. Of course, neither of these methods will work when the form can be called from multiple locations.
That would require you to put that same disable code at every point of use. Letting the child form class do it confines that code to a single place.
You are right, my code doesn't work if several forms can launch the child form. It would require a more complex broadcast announcement. If the child form can be launched from multiple places then a full blown forms manager class would be better to use. I think I'd argue though that if a form can be launched from several places that it really isn't a single instance sort of form, or that making it modal might be a good solution.