Let me emphasize:
I have tried 1) directly using calibre-server.exe 2) using CMD.exe with a command string 3) BATCH files (.BAT/.CMD) with START and without START commands. Scheduled tasks set for "at logon" work! However, the same tasks set for "at system startup" do not work! The Schedule tasks control panel applet indicates that the task could not start.
As I understand, there are two ways an application can launch another application or process. One way is to use the shell (explorer.exe). The other is to use an appropriate function call - something like exec(path_to_binary, array of options). I presume the second is used during system startup. I also presume that calibre-server in windows startup attempts to use text I/O but that is not available (no shell or GUI is available) and then exits.