I'm having exactly the same problem described by Glen1963 below.
I don't suppose there's anywhere to set a longer communication timeout? As it is, I have to comment-out the G29 command in the Start-GCode section.
Since this was the only thread I could find mentioning this error, I hope you don't mind me reviving it a bit.
I too am getting this error on my Printrbot Simple Rev D, but only in a specific situation that I created and can easily avoid. Still, I am wondering if there's something I can do.
I compiled my firmware to allow for 9 points of advanced probe leveling. If I have Start G-Code that calls G28 (home all) then G29 (Z-probe), hit Print, MC throws the semaphore error and disconnects after the G29 completes, when the printing should start.
If I call G28 and G29 manually, then click Print, the problem doesn't occur. So is it that MC has issued the next series of commands after issuing the G29, and my printer took too long to respond? Is there something I could do to test that theory or prevent it?
If I change to 4 points of leveling (really, should be sufficient), the problem doesn't occur, so I assume it is related to how long the G29 takes.
So, this is not a serious problem for me, but I am curious to know if there is a possible solution. Is it something that could be altered in the MC code if I went there?