This has been puzzling me for a while and I didn’t know what the deal was. Luckily I got some help with the issue. When you’re in Sugar and hover over the XO Guy, then select Register, it looks like it’s doing something at first. In fact the XS reports in /var/log/messages that Registration was successful, but then the XO reports it failed.
Seems there’s a timeout issue on the client side.
The solution is in this file on the XO. I’m running 12.1.0.
Change _REGISTER _TIMEOUT from 8 to 16. Now registration works!
I also had to go to My Settings -> Network -> Collaboration and clear out the server information I had previously manually entered.