I've been digging around for an alternative solution to this problem that has started happening intermittently with the addition of a number of services to the current SOA.
I've seen that the Service Control Manager will generate an event if a service does not respond within the defined timeout period (the default timeout is 30000 milliseconds). And to alleviate this an entry can be changed to set the default timeout value for all services.
In the Registry Editor, edit the registry subkey HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control. In the details pane, locate the ServicesPipeTimeout entry Modify the DWORD to something greater than 30,000 ms, while this works after I made the modification it wouldn't be optimal to start changing registry entries on all the machines the might have this problem.
Also it would be best not to make a registry entry that might affect all services on computers that I don't have control over, is there a way in which I could get the SOA to respond to the Service Control Managers start request and say that it hasn't completed as of yet?