I have 2 silver badges at Stack Overflow, I got them months ago I think. When I try to get an Amazing Grace hat from Winter Bash, it says You haven't earned this hat on any sites yet. So what's going wrong, is there anything that I'm missing?
All hats on Winter Bash are for what you did in the specific time range of Winter Bash, if it was for what you completed in your whole time in SE, a person who got hats one year will always get those same hat triggers on other years, that's the point of Winter Bash, to see how many hats you can get in the specific time range, otherwise it wouldn't be fun.
As you said:
I own 2 silver badges at Stack Overflow, I got them months ago I think.
You have to get the silver badges during Winter Bash, that's the point, the times you got the badge was not during Winter Bash