Technically, I'm not sure he knows whether or not this has happened, unless he can be sure of the other people's intelligence levels.
If 1 person had a dot on their hat, then that person would look at the other two hats, see that there were no dots on THEIR hats, and be "pretty quick" to conclude that he, by process of elimination had the dot on his own hat. How fast is "pretty quick", though? I'm not sure. Between 1-10 seconds, probably?
If 2 people have dots on their hats, then, the theory goes, that the people with dots on their hats aren't sure if they're in the 1-dot scenario, or the 2-dot scenario, with themselves being the 2nd dot. But, if after a few seconds, the guy that they can see with a dot on their hat doesn't actively reach that conclusion, it effectively proves that they're NOT in the 1-dot scenario. However, the question is, how long do you have to wait before being pretty sure that the other guy isn't just kinda slow? And how long would it take you to make that realization? 30 seconds? A minute? Hard to say.
If 3 people have dots on their hats, then you can't be sure if you're that you're in the 2-dot scenario or 2-dot scenario. But if you were in the 2-dot scenario, then you KNOW that one of the other people ought to come to the appropriate conclusion after sufficient time. But again, how much time you allow is uncertain. If you prematurely conclude that you've waited long enough, you might not actually be certain that you're in the 3-dot scenario, and not simply the 2-dot scenario with NO dot on your own hat.
Anyway, it seems to me that you can't know for CERTAIN, because you can't rely on knowing exactly how many seconds it will take for someone else to come to a particular conclusion, no matter what their intelligence level. But if you're reasonably certain that everyone else is VERY intelligent, then you've just got a better chance of being correct.
DaveE