As a programmer, I try to write applications to be as efficient as possible. For longer forms, I have started using the MultiView more often. I group the fields into logical subsets and only show a subset at a time. Sometimes an update to one subset may change which subset (or view) gets displayed next. I like having all of the fields available during any of the intermediate updates. It saves passing the ID of the current application between application pages in the querystring and having to save values from the previous page in hidden fields.
However, from a web analytics standpoint, it is awful. Using the same page creates web log entries all for the same page so it is impossible to track how far along a customer went in the sign up process. The analysts can't tell which page is the one most "abandoned" (ie, the user stops filling out the form and leaves the site). To get around this, I created simple HTML pages, such as Page1.htm and Page2.htm. Then inside of each view, I put an invisible iframe with the src tag pointing to the appropriate HTML page. So for each view I display to the customer, a corresponding call goes out to the HTML page which also has the analytics tracking code on it.
This really seems more like a work-around than a solution to me. However, until I think of something better, this is what I am using.