David,
You mention that the window shouldn't be resizable, did you consider adding the following styleattribute. This should at least stop the annoying intermittent problem occuring.
<StyleAttribute name="forceDefaultSettings" value="1" />
One possibility for the problem occuring although it is unlikely as I would expect it to occur with 1.3 as well, but I'll mention it as you may have made a change to your app between 1.3 and 2 (and it is interesting) is that you have a window and/or form with the same name used elsewhere in your application. The stored settings are saved away in the registry by window name (for x,y, state), and by form name (for height,width) so if you have 2 or more instances using the same window name and/or 2 or more instances using the same form name then the settings will be shared between the 2 or more windows and/or forms.
Run this code and you'll hopefully see that if you reposition and move the first window that appears, that these stored settings are then applied to the second window as it shares the same name even though its contents maybe completely different
MAIN
OPEN WINDOW w1 WITH FORM "dir1/form"
MENU ""
ON ACTION accept
EXIT MENU
END MENU
CLOSE WINDOW w1
OPEN WINDOW w1 WITH FORM "dir2/form"
MENU ""
ON ACTION accept
EXIT MENU
END MENU
CLOSE WINDOW w1
END MAIN
If the problem continues, keep an eye on the values in the registry. One issue a few years ago was reported as a column width suddenly being too small, when in actual fact the column width was decrementing by 2 pixels each time the window was opened but of course it was only reported once it got too small. I'd also be curious to see the .per.
Reuben
PS You describe it as a popup menu, it looks like more like a DISPLAY ARRAY to me. Did you consider a MENU STYLE="popup" for what I am guessing is a library function?