I agree. We initially ran into the issue trying to control the window position from C++ using SWindow functions but all changes were lost as soon as we gave the focus back. The only workaround so far for us that works is to control the window using the GameUserSettings functions but we lose some control (such as running in fullscreen on a 2nd display).
I did not intend to recompile the engine but I am now tempted to apply your suggested fix.