I think you are probably on the right track regarding using DNN for your solution. Unfortunately the only "perfect" social networking solution for DNN will be when DNN 5.5 or whatever version comes out with the social networking features that were discussed about a year ago. The downside is we're probably looking at another year before that happens.
All other solutions kind of involve each user having two "Profiles" the DNN one which is a must for the framework's security features and a social networking one or "home page".
Next would be Active Profile - Will has had his hands full coming out with a new version of Active Forums (4.0) that is due most anytime now. Once that is done I expect him to be turning the Active team's full attention to the profile module as there is a pretty big demand for it. But again, that involves waiting.
Next there are some hacks that you can use to build a fairly nice solution - if you want to do some things manually. i.e. If you don't plan on having a huge community or plan on having some moderators to help. So for one hack you or your moderators could manually add a page for each new user. You could use page templates to have preset modules on the page if you want. So this would only take a few seconds of admin time per new user. Next you would need to install the free TRT control panel which will allow you to turn off the ability to add new pages and decide which modules users would be allowed to add to their pages. Last you would want to have some type of directory so people could look up other users profiles - you could build that in Xmod. Next you might want a traffic director module that would redirect a user to his/her "home" page on login. This is just an example of what you could do - you could make it as extensive or limited as you want. But the downside is that some of it is manual so for huge numbers of users it might not work for you.
Another solution is to head over to Xmod's site www.dnndev.com and take a look at the creating user profiles tutorial in the Xmod Online Help section. This would be more of an dynamic solution but each user would not have their own actual DNN page. This is instead a relational type solution where you would have a grid list of users and clicking on the view profile button would take you to a page where all data is filtered to that users info. Everyone's "Profile" would look the same but have individual data in it. You could do user pictures, my favorite music, my favorite movies, you could do a guest book where people could leave messages on that users "profile", really as many things as you would like. Again, another "hack" but an option for you to consider.