I don't want to start another scoring function discussion (although we didn't have one for a long time! ;), but I don't like how scoring works right now.
Not to mention it's poorly implemented, because clearly you can never solve more than 100% on a site. Maybe it is enough to add a min(100, oldPercentSolved) as a workaround?