I am not an expert but I would try to explain and possibly help. I think game tends to be synchronized and it always slows down ( not rarely to total freezing ) and after recover the synchronization, it backs to normal initial speed. There are few ways, in my opinion, how can happen out of sync. I think CPU+Memory+connection are three main factors. First, CPU if is busy by some other processes too much wouldnt be able to keep the game sync, so it needs to block the game ( in the moment of the block it sends the information to all other players's its game is blocked ) and after re-sync the control buffers (processing units etc), and emulate pending processes in the current game, it sends the information that game can continue and the game continues smoothly. Its a factor #1 in my opinion: the high CPU usage. 2nd factor could be memory, if player has some issue in the windows with ram memory ( or hardware problem with the ram ), if some a new variable cant be loaded into memory ( or ram memory is full ) it could be forced out of sync or game crash. And another factor, but the last factor which causes out of sync in my opinion, is slow internet. Problem with slow internet is that players sends commands to host machine but there are too many commands, and conection cant keep up with, so slow connection cant accept next amount of data from other players ( or send data to them ). So some buffers gone full, and the information for game to freeze comes too late to the particularly machine. In other words game continues to emulate before the "freeze" command come to process, and soon the game detects out of sync ( because the game of some player didnt stop when games of other players were ).
I hope this my rooky explanation could be helpful, but what is really going on I guess only programmers who made it know I recommend to ur friend to see how many processes he has started ( maybe is too much than his CPU can handle and still holds the game smooth ). I got once a problem with ram memory, and I was out of sync in every game, it was about a year ago, and i am pretty sure that broken ram memory could be a factor. Other factors could be using some bad patch, or crack, so maybe solution would be to repatch. If nothing helps maybe is a glitch in the Windows, so a way could be reinstall windows ( make a fresh instalation on formated drive), but it should be a last option. Wish him good luck with fixing