Hooookay...
First of all I would like to give a great deal of thanks to Merrill Higginson for your support.
Since I did not override the Form class reset() method I do not know how the page integer was getting reset. I added the following code to my Form class to make sure the parent reset() method wasn't doing anything sneaky:
<snip>
public void reset() {
}
</snip>
No joy.
Lastly I created a private integer "stage" with appropriate gets and sets. If I use getStage() instead of getPage() everything works the way it should.
It's a pity that I'm not understanding the proper use of the "page" integer since upon first glance it seems to be exactly what I am after.
If anyone has any pointers on how exactly the "page" integer should properly be used, I'd be happy to hear from you.
Until then... don't squat with your spurs on.