Yeah, some kind of "reset window positions" button somewhere would be good but I feel that some kind of "sanity check" within the code that opens the windows would be better. Just so it makes sure the window is wholly visible. (I remember reading another post where their dialog opened too big to fit on the whole screen so they couldn't press the buttons, or something like that.) If the user wants to move it once it's open then that's up to them.
The only reason why I gave that particular example is that it shows that the code which opens the windows on startup doesn't seem to work properly all of the time. The window was off the screen and I doubt the user could have dragged it there unless their mouse pointer goes off-screen. (Yes they could have changed display size, and I'm aware of multi-monitor set-ups, but that's against the point I'm trying to make.)
As for the next bit, I didn't say every possible window, just the PP because that's got all of the most-used stuff in it. And you would be one of the users I'd suspect that would uncheck the "always open the PP" option - as mentioned in my scenario above - so it wouldn't be a problem for you or others with the same requirements.
Yes, pressing F2 isn't difficult - unless your F2 button is broken! - but a new user wouldn't necessarily know what to do if the window went missing - as shown in the original post.
It's not very intuitive to know that you have to open the properties palette if you don't know what the properties palette is. It's sometimes a case of: "That window I always use, and has always been there, has gone missing. How do I find out what it was called so I can find out how to get it back?". Not everyone knows what the correct name is for stuff, and if you don't know the name of it you can't search for answers.
I was just thinking of new users, not experts like yourself, but I do get your point.