Ah okay, no worries.
Looking at the code, it seems like there may be something wrong with the logic in Model/XWhoHasVisited.php:
The query should be looking for records between the UTC current time - X hours and UTC current time, but instead it seems to be adding the time zone into the equation. It still seems to be using an X hour window though, so you'd think it wouldn't be much different, but when I changed it, I got a lot nicer result....
So what did I was simply changing line 14 to
$date = $defaultDate;
(I suppose this won't work correctly if you use the "Today's list" feature instead of "Last X hour's visits" though.)
Anyway, I don't think I noticed the problem until now when I'm on holiday somewhere far away from the GMT time zone.