I gave it a try on Win7. It seems to work very well.
The easiest way to run anything as a service is to start it using the Task Scheduler. I simply made a new task that starts calibre on system startup. It starts, and the content server works.
The downside is that in order to use the GUI interface, you need to start another session of calibre. I don't know if there are any negative consequences to having two sessions against the database at once. I suspect that since the background session is read-only that it will work just fine. Of course you can't do things like stop and start the content server since you're not able to control that session.
Is there a way to, when I close the GUI window, to have Calibre stop completely? If not, adding this as a preference would be nice as, with the content server always running as a service, there's no need to keep the second session running.