Turns out this was a Javascript specific issue - the events were being sorted and displayed by their Moment date object, when they should have been using the numerical value of that object. For whatever reason, it still eventually figured out the value, but there was a brief hiccup which caused events to be added in at the last minute. I used the value of the next event date instead, and that fixed the issue.
Fixes #496
Turns out this was a Javascript specific issue - the events were being sorted and displayed by their Moment date object, when they should have been using the numerical value of that object. For whatever reason, it still eventually figured out the value, but there was a brief hiccup which caused events to be added in at the last minute. I used the value of the next event date instead, and that fixed the issue.