The replay engine don't make up the fight when data is error/failed.
The issue [1 saw win and other also saw win] happened before is between Android vs. iOS, it's because ucool maintain 2 different engines (android and iOS) on their server, both contain different heroes stats (ucool synchronise heroes stats recently), when a client send a fight data to server, it's separated to iOS and Android servers to generate the battle and send back replay, then we have 2 results for iOS players and Android players. However the final result on Arena/GA board change follow the first data sent/received, the 2nd data sent/received is invalid.