The most obvious approach is for the application to decide which page to display rather than the user.
Don't put that info in the URL, rather just display the page appropriate to the stage they're on.
Each section would have to have been flagged passed (in either the DB or session) to allow them to move on.
This would also be helpful as your form could post back to itself, allowing you to (more) easily highlight errors on the form.
Mark