HI Greg,
Your procedure is the correct one.
Especially for OPC Server services. With a Service dependency defined, the Agent Instance will not start execution until ALL of the dependent services are already started. However, with OPC Server services, if the service has not already started, an OPC Server connect request will attempt to start the OPC Service through COM/DCOM. It is possible that multiple COM/DCOM start requests against the same OPC Server service could have cause some issues, memory consumption being one of them.
Regards, Steve