This is amazing! I've been turning around this idea in my head for a while too, but never found the time to actually try it out.
It would be extremely useful in my case. Even though I only have one XBMC machine. The PC itself is continuously on and contains auto downloaders like Sickbeard and CouchPotato, but I don't want to run XBMC continuously. In fact I only want to run it when the tv connected to the pc is on, because XBMC running with GUI takes up a lot of resources and consumes a lot of power, which I think is wasteful. Think ecological, people!
In my current setup I run XBMC for an hour every week and let it do a cleanup and update of the library to keep up to date by ways of a cron job. Therefore I cannot enable such nice features as Sickbeard and CouchPotato live updating my collection when something is finished. Additionally I store my library in a Mysql database for which I have a few maintenance scripts too. (like finding videos that accidentally didn't get added to the library and finding videos that got moved before XBMC removes them and adds them to the library again which destroys their chronological ordering)
A headless version would be a great solution for a lot of my problems!
Now, what would be very cool if the GUI and services could be separated and run next to each other. So that I can leave the services running continuously, and when I want to watch TV I just startup the GUI, which connects to the already running services. But that would probably mean a lot of redesign.
I think I will try this out when I find the time, and if it works settle for a solution that stops the headless version and starts the gui version when necessary.
Great work! Just wanted to give you a heads up that there are indeed some people who are interested in this.