Analytics servers do not differentiate timestamps if they are have the same second. For example, hit 1 has time stamp 01:01:01.3 and hit 2 has time stamp 01:01:01.5. Analytics will treat both the timestamps as 01:01:01. Now, the order of the hits will be decided on which hit arrives first on the servers. So, if hit B reached the servers first, the order of the hit will be Hit B > hit A.
In order to prevent this, it is advised that the hits should have at least one second's different. Therefore, hit 1 should have time stamp 01:01:01 and hit 2 as 01:01:02. You might need to work on the implementation to adjust the timestamps accordingly.
If I have understood correctly you are referring to the "visit_page_num" column. As per the current design of Analytics, if the timestamp is the same for two hits then we use the combination of columns "hitid_high" & "hitid_low". Any hit whose hitid value is less will appear first followed by the one whose hitid value is higher.
So, I will suggest you to get in touch with your implementation team to identify why some of the hits have the same timestamp value. Also, one thing to note here, in case of data feeds we only look at the timestamp till seconds. If there are two hits that were received with the difference of few milliseconds then again the above-mentioned method will be followed to identify the order of the hits.
Hope this helps. Please let me know in case of any further questions.