You may faced the similar issue by default if you currently running your vcenter server 4 on top of Windows 2008. The reason of the services start up failure are due to the dependency setting require to add in manually.

I found the KB above which describe in details about the root cause and solution to over come this.

This issue may occur if the VirtualCenter Server service starts before one of the services it depends on. The VirtualCenter Server service is dependent on the following services:

  • SQL Services
  • ADAM Services (when using linked mode in vCenter Server 4.0)

To resolve this issue, add a dependency to the VirtualCenter service so that it only starts after the necessary services have started.
Note: This solution assumes that the database server and the SQL server reside on the same machine. If the SQL server is on a different physical machine, you must ensure that the SQL server is functioning before attempting to start the VirtualCenter service.
To create a service dependency:
  1. Click Start > Run.
  2. Type services.msc and press Enter.
  3. Locate any services that VirtualCenter requires. For example, SQLEXP_VIM or ADAM_VCMSDS.
  4. Open the service properties and note the Service Name. For example, MSSQL$SQLEXP_VIM .
  5. In the Run dialog, type Regedit.exe and press Enter. Browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vpxd.
  6. Double-click the DependOnService key and add the Service name using the name identified in step 4.
  7. Close Regedit.
  8. Go back to the Services window and open the service properties for the service identified in step 3.
  9. On the Dependencies tab, verify the VMware VirtualCenter service is listed as depending on the service.
  10. Repeat steps 3 to 9 for any services that VirtualCenter requires.