I've gotten the yearly badge 4 times in the last few months:
- 7 hours ago
- Jul 15 at 22:06
- Jun 10 at 22:37
- May 6 at 23:26
I think the problem is that I was largely inactive for several years and so did not earn the required 200 reputation and therefore no badge. Since the spring I have earned the required 200 reputation to catch up for the years I didn't do much and the calculation appears to be confused.