I'd go for the multi-page approach myself, using session variables to keep track of which form submissions go with which registration process, and perhaps also of the data entered so far if you don't want to populate your database with incomplete data.
The difference is largely a front-end design issue, rather than backend processing. If there's a lot of information to enter it can be daunting. Breaking it into sensible chunks can make it more easily digestible. It also allows you to do validation in a piecewise fashion and get corrections likewise, rather than trawl through the whole thing at once and then saying "I want this and this and this and this done again."
Because not all the form is visible at once, and subsequent pages would only be seen once initial pages are properly filled out, I'd add a cover page, describing all the information that will be required (so that people don't get halfway through and then find a question that makes them go "huh?").
Of course, all this also applies to the lucky soul who gets to maintain the source :-)