Currently we save all day events as events with a start date of 12AM (day of) in earliest timezone on earth and an end date of 11:59PM (day of) in the latest timezone on earth. These events can make it into a result list for a query range that doesn't mean to query to days in those timezones.
So, filter out results that don't match the query range when converted (all all-day events pass through a conversion after database query) to viewer's timezone.