Thing is I haven't gained any reputation in over a year:
It doesn't bother me but seems like it might be a bug.
Stack Exchange recently increased the value of upvotes on questions from 5 points to 10 points, and applied it retroactively.
Last year you asked a question that earned 36 upvotes. At the time, those votes would have been worth 180 points of rep. After the change they are worth 360, which would have been enough to hit the daily rep cap of 200.
Presumably the calculation they made to adjust the reputation scores took this into account, and gave you 20 extra points and the badge.