Don't laugh... Due to the requirement that IIS and 3CX/web run on port 80 (see An error occured in IVR session), I couldn't use the main server system in our small office for 3CX. Instead I put it on another 24x7 system that uses WiFi internet access. When that system is rebooted, most 3XC services don't auto-start. I found that the Linksys WMP54GSSVC WiFi access/driver service was not starting quickly enough, and that caused the 3CX services to fail on startup. The solution was to add the WMP54GSSVC service to the dependencies of the 3CX Phone System Database Server service (upon which most other 3CX services depend). For details see the MSKB article How to delay loading of specific services. In my specific case, I added the WMP54GSVC service to the dependencies of the 3CX Phone System Database Server service (which already depends on RPC). After that, all 3CX services start successfully on reboot.