As reported in #5185 by elexis, there is a weird issue where rejoining on turn 0 will systematically OOS. However, a -rejointest=0 does not reproduce this.
The cause is that, on game init, m_CurrentTurn=0, m_ReadyTurn=1 . Thus, in OnJoinSyncingLoadedGame, when the server catches the client up to saved commands, it will ask it to play Turn 1, and will inform the rejoiner that Turn 1 has a duration of 0, since that's what's initialised.
Fixing this initialisation makes things work correctly.