I have now tried on numerous different Application set-ups and the only set-up that seems to allow sizing and position through CREATESTRUCT is when User Interface Features - Use Classic Menus is selected. My original code then works. This makes me think that selecting menu bars, toolbars or ribbons forces some later automatic sizing to occur after the PreCreateWindow.

I am just intrigued by the process.