My engine tries to keep track of which side it is playing (White or Black). But I have disabled the color commands (colors=0).
Now there is an ambiguity. There was a recent server game where the opponent disconnected then resumed. When it resumed, xboard (4.7.3) sends "new" and "name", goes into force mode, then sends the moves. But the opponent lost on time before it could play another move, so the next command was "result 1-0 {<opponent> forfeits on time}". Now, who lost the game? "name" doesn't tell you who is playing White, and the move list just ends w/o indicating who had the next move. I guess if you get "result" before "go" you can assume the other side lost, but that is pretty kludgy. Or you can parse the ICC comment for the opponent name, but different servers may send different comments.
--Jon