paul55391: I replied to your message in the launchd thread saying the plist didn't work before I saw in this thread that you're also having problems.
I was interested in using launchd since I wanted the calibre server to start on demand and then stop after a certain period of idle time, instead of always running as it does now. Maybe someone with more knowledge of launchd can help us out on either thread.
Currently I start the calibre server through a shell script I wrote in automator and saved as an application, which I then added to my login items. I've attached a screenshot of the shell script in automator if you want to try this.
--daemonize causes the calibre server to run as a background process under OSX so it accomplishes the same thing as KeepAlive=true in the plist and should do what you are asking for. You will need to mount any external drive containing the calibre DB before the shell script runs. Which is why I keep my DB on the conent server's hard drive.