No, your math is off.
0.05% chance means if you play for 2,000 minutes you'll get one hat on average.
what exactly do the hats do other than look cool?
The drop rate is .5%, but it has a separate drop timer, of at least 45 minutes, so you should statistically get a hat around every 150 hours. But, assuming that they use the same chance for that you actually get any drop (15% chance), it brings it up to around 1200 hours, or 50 days.