What system are you testing this on?
Windows XP SP3
FileMaker 11 Advanced, 10 Advanced
Didn't spot the issue at first.
Get ( WindowHeight ) returns the height of the current window, not the new window. Thus the first window uses the height of your parent window and each succeeding call uses the height of the previously created window.
If you rewrite your expressions as:
( Get ( WindowDesktopHeight ) - 780 ) /2
You'll get a more predictable result that centers your window.
One trick I've started using is to define the height and width of such a window with a variable for each dimension that I then refer to in my New window step. It makes it easier to specify new dimensions if I have to change them later.