Great question. When a Mobile data sync is initiated, it updates the records that changed and when it does it updates the "Last Modified Date/Time" on those records with the date/time of when the Mobile data sync was initiated.
For example, if the FSE updated the WO status = "Solved" at 5PM and he did not sync until the next morning at 8AM then this would result in the WO Status="Solved" and the "Last Modified Date/Time" will be the time of the last sync which will be 8AM and not 5PM (when he actually Solved the WO). If you have field history tracking turned on for the WO Status field which you probably do then it will also show the Status was changed to "Solved" in field tracking history at 8AM which is the time of the mobile data sync and not te time that the FSE solved the WO. Unfortunately, you can not report off the field tracking history date/time stamp in SFDC reports.
I solved this for a customer by adding custom Date/Time fields on the WO Header and a corresponding WO Status SFM button called Accepted WO, Rejected WO, Called Customer, En-Route, On-Site, Complete WO (see my screen shot below). When the FSE clicks on the "Solve WO" button it will set the Status="Solved" and auto populates the "Completed Date/Time" field with the date/time that the FSE pressed that button (offline or online). The custom date/time stamp fields on the WO are completely independent of when the FSE does a the mobile data sync.
To go one step further, if you want to update the "End Date/Time" field on all the Work Detail lines that are Line Type=Labor with the "Completed Date/Time" field on the WO header when the WO Status="Solved" and the "Completed Date/Time != NULL" then you could do this using a WO trigger.
Hope this helps. Please let me know if you have any questions.