As I said in the comments, the votes are deleted, but the denormalized
Score stored on the comment itself is not updated.
I spent some time looking into a fix and, after further discussion with Nick Craver, I have to be the bearer of bad news here - we can't fix it at this point. Not without spending a lot of effort on setting up special infrastructure to do so.
Here's why. Let's say we wanted to create a daily scheduled task that'd look over the comments and fix up the scores. This presents two common problems: race conditions due to our use of
READ UNCOMMITTED and DB table locks due to sheer volume of data and ongoing queries, but let's say we work around the latter with batching and the former self-corrects on the next run...
The next and foremost problem is that the
Comments2Votes table that tracks voting didn't always exist. This means that we can't simply look at the current number of recorded votes and update the scores. (This affects about 10,000,000 comments.)
We could try backfilling those "missing" votes, but they can't be mapped to any users that are still around and they'd effectively be a waste of storage for votes that will also never be able to be removed. We're talking millions of rows here.
And even if we were to get around this by excluding comments created before a certain date... first of all, that doesn't entirely help either since votes can be cast long after the comment was posted. Secondly, doing this would up the time for the update queries to run and further increase the chances that we lock up the DB.
So, fine. Why not just "unvote" the comments we know about when a user is deleted? User deletion runs in a transaction. This means we up the odds of hitting race conditions where someone is voting on a comment while a user's being deleted. This puts scores back out of sync and we're arguably worse off than where we started.
To be able to do this properly, we'd need to rework how user deletion works, get around the missing data issues, and queue up these normalizations somewhere where we could work through them without affecting the day-to-day operations on the site. It's a lot of work and a lot of complexity for something that has a minor benefit in the grand scheme of things.