We're using the program for a dating site now since January. D7 is a good base platform but will not work out of the box for what you need.
Credit Card acceptance is extremely primitive at best, your only option is to use paypal and forget recurring memberships out of the box. You will need to develop and code based on whatever processor your client wishes to use, the coding is not hard but tedious. I believe there may be a market module that opens up some other credit card option, though I'm not sure and you wlil have to page through one by one on the market to find anything (there isn't a search).
Forum in D7 does work, but the forum is less than primitive...think prodigy forums functionality of the 90's. You can only have main categories of topics no subcategories, all post will be put in the main categories. You can list the main categories how you wish, but if you plan on having any major forum use you will have to use something else. Test the forum at http://boonex.us/forum/ You will see what I'm talking about and how you find forum post. There is a member working on a very good forum module that will allow you to use ipb board. There are some phpbb mods out now, not sure how well they work. Again you will have to dig to find what you're looking for, the market is anything but user friendly.
Customize mods, there is a great mod called Page Access by Anton which we use and it is great. It will allow you to limit pages and functions to member levels, D7. Some functions you can limit with membership settings but they are very basic limits, the page access module really allows customization (such as showing upgrade banners only for basic members without the need of further custom coding).
D7 will track some view access, such as View 10 photos per x period. However, there is a huge caveat to how this system work. If you set a membership to only have 10 photos uploaded (say for basic), the system will track those 10 uploads. If a person deletes a picture and now only has 9 pictures, the system DOES NOT CHANGE THE COUNTER. That means the user will never be able to upload more pictures. You will have to custom code this change, we did and it works and isn't too painless. But it seems that a dating or community system would be missing such as basic function.
Email system is again primitive. You can send and receive but cannot limit how many can be sent, you can use the page access module to limit sending emails (there is no build in native ability to limit email sending and receiving). You should note that it is essentially impossible to delete emails. The system shares one email message between users. To delete a mail message both users have to select delete, if only one person deletes a mail message then it will sit in the trash indefinitely taking up space. Replying to email message doesn't include the previous message contents, to fix these issues you will have to change the code.
Sign-up process is very customizable and anything you ask the user in signup process or edit profile process can be searched for. However making list in the search is ugly and you cannot create columns of options. However, I made a mod that will make the columns so if you want that contact me, it's also in the market. You can also create match % criteria so you can set how close profiles match when searching.
Support and development, there are some coders here in the forums that do good work. We used an independent programing house to do our work but they know D7 and did a great job, I can privately recommend them if you wish. They will give you a good quote on a job.
Something to note, server requirements. The script is huge and takes much server resources to run. Shared environment will likely not work, dedicated is better. You will likely bang you head trying to setup the server as the documentation for D7 is abysimal and doesn't list all the requirements truley needed to run the program correctly.
Support, you will find support with your own programmer and sometimes in the forum. Boonex does not actively support users in the forum, regardless of what type of license you purchase. There is no live support or anyone you can call. You may have an agent but anything outside very basic support questions will not be answered by boonex.
All in all, even with the above pitfalls, D7 is a very good base platform to build-up. The code is a pain to learn and there are no white-papers or other documents regarding the code build or file interactions. You will have to learn the code by going through it and trying to figure things out. It is a pain but once you get a good feel on how it works things start to come together.