Say you hide the message window. Then you hide (toggle) all additional widgets. Then you show (toggle) all additional widgets again. The message window is now visible.
If I had customized the visibility of diferent windows and then I wanted to temporarily hide all of the rest to maximize the working area, I would be forced to lost all my previous settings.
Consider this a bug report and a feature request.