Several very old threads here about the page order on page frames reverting when the form is reopened. I find that carefully cutting and pasting to rearrange the individual pages in the desired page order in the properties field of the pageframe object in the forms .scx then keeps the page order. Suppose I want page7 to be page order 2 but just resetting the page order property won't hold. Move all the Page7 properties up to between the Page1 and Page2 properties and it will hold:
...
Page1.Caption = "\<Customer(s)"
Page1.PageOrder = 1
Page1.Name = "Page1"
...
Page7.Caption = "\<Orders"
Page7.PageOrder = 2
Page7.Name = "Page7"
...
Page2.Caption = "\<Invoices"
Page2.PageOrder = 3
Page2.Name = "Page2"
...
...
Page1.Caption = "\<Customer(s)"
Page1.PageOrder = 1
Page1.Name = "Page1"
...
Page7.Caption = "\<Orders"
Page7.PageOrder = 2
Page7.Name = "Page7"
...
Page2.Caption = "\<Invoices"
Page2.PageOrder = 3
Page2.Name = "Page2"
...