After discussing with @Pchelolo and simulating locally we discovered that purging occurs with the current time, so when replaying an edit event from 22hrs ago, we use the current time so speed, max inactivity and max age will all be derived from the current timestamp.
This is significant when we purge every 100 events - as most early events will be dropped on account of speed... consider 10 edits in the first hour - when purging at 22 hrs:
10 edits/21hrs*60 minutes is very different from 10 edits/60 minute :)
If a page is edited 10 times every hour, we'll lose many of the accumulated edits and it won't show.
In addition to this almost all early events will be dropped on account of inactivity. An event processed 22hrs ago will be seen as inactive for 22hrs which is not true.
So when purging we should use the date of the last event.
This is very trivial to fix and should result in very different results.