Some things I experienced during mapping on Gaias Retaliation, which had initial-desync issues too:
Problem: Some tiles can desync ... it sounds weird, but this is truly the case. I dunno which weird bug causes this, but sometimes when you are using more than 12 tiles, tiles can become "corrupt"... in my map, the 16th tile I used cause a desync as soon as a unit stepped on it.
How to confirm: Try resetting the tileset for a testing game (keep a copy of the nonresetted version!) and check if it still desyncs
Solution: Try to find out which tile is corrupt by covering the entire map with one tile at a time... and remove the corrupted tile from your set
Problem: Getting PlayerSlotState at map init desyncs
How to confirm: Remove PlayerSlotState occurances and check if it works
Solution: Run PlayerSlotState with a delay after map init
Problem: Local Code may desync if not done correctly
How to confirm: Remove local code
Solution: Try to use local code wisely ... use tutorials if you don't get it right
Problem: Extreme object editor values may cause desync
How to confirm: Remove extreme values (regeneration values > 50k, Millions of HP, etc.)
Solution: Simply avoid it ... it doesn't look good anyway
Problem: Some GUI functions (BJ functions) may cause desync, like PanCameraAsNeccesary
How to confirm: Remove all those lines
Solution: Remove them
I recommend deactivating all your triggers before you go on testing. This way you can easily detect wether your map script is the issue or the other stuff I mentioned.