Today I completed a Zwift race. I finished in the second group in the top 8 people. After the race finished a leader board was displayed to screen via the Zwift PC software and I was not shown in the list of top riders (this 15 were shown)
I have completed some analysis and I believe Zwift look at the recorded end time of the race which is based on the riders PC time and this value is then used to compute your leader board position. I also think zwiftpower also make this same mistake.
I say mistake in the previous paragraph as a clock on a PC can either be slow or fast. If it is slow then you will be penalized (I confess I since reviewed my PC clock and it was running 21 seconds slow which explains why your leader board did not include me), if however your PC clock is fast (like the two race leaders PCs appear to be you will can a higher race finishing position.
The Zwift system knows when the race starts. I think at the point of starting the race the Zwift software should look at the PC time and compute an offset. This offset should then be both taken into account when computing the final leaderboard Zwift show.
To fix issues with Strava flyby and race results reported by sites like zwiftpower it would also be good if this offset was taken into account when writing the trackpoint times to the FIT file, ie my first trackpoint recorded a time of 08:00:21, subtracting a 21 second offset from all trackpoints would result in 08:00:00 being written to the file.
Without doing this you might as well stop showing the end of race leader board to screen as it is worthless