Hi Rachelle, in running into a similar issue.
When I calculate the Start Time of the event I subtracting the Duration from the DateTime and in some cases there is an overlap, e.g. StartTime is calculated as 12:04:32 but the DateTime of the previous row is 12:04:34 two seconds higher.
Makes me wonder if there is any weird rounding going on when this data is written to the database?
As a work around, i set the StartTime to the previous Rows DateTime if its a higher value and then i re calculate the duration so it all lines up, in other words im treating the DateTime field value as the source of truth. The issue with this though it that the sum of Durations in my reporting will not exactly match Stock Reports.