I'm not a big fan of this system, and I have discussed about this before on the momentum mod forums (but it's down right now)
The first problem is that it's fully rank based. This means improving your time doesn't improve your ranking at all. This means if you aren't faster than the guy above you, there is no point in finishing your run, which I think it's a bad thing. I have a 9.5 hours on colors and the next guy has a 8 hours runs, if I happen to improve my run by a whooping 1 hour I will not get any point at all.
The group points then create another problem on top of that, when your ranks are low enough improving your run to be faster than the next guy barely does anything, but suddenly if it happens to be the boundary of the group then once you move up one rank you get a massive increase in points, even if it happens that your improvement is extremely insignificant.
Another problem that arises from this current values of this system is that it rewards the #1 player too heavily. If you are ever so slightly faster than the #2 person, you should still be rewarded, of course, but 25% of the maximum point as a difference is just way too much.
I must admit that the biggest advantage of this system is that it's not heavy on the database anymore. But the curve recalibration doesn't have to be done on every run and can instead be done every day, which is usually more than good enough. While I don't have API access or source code, I think the reason API is so slow is that the database used for it was badly made, and not because of the idea itself.
I think a good system would be similar to what the API have now, just with tweaks to take difficulty and pro/standard runs into account. And for the profile ranking, osu's system is a great idea in my opinion, with its diminishing return formula for points that allows for grinding different maps but doesn't make map completion overpowered.