If your self-developed autostart service application happens to call socket bind() API during system startup, the bind() API may not return. This issue just occurs in system startup phase and it does not occur if Shared Access servcie is not started in the system.
This is a design limitation of Window Server 2003. The Shared Access service does not register with the RPC Endpoint mapper during such an initial phase.
You can either disable Shared Access service or ensure sufficient delay in making the bind() call (e.g. write own code to make bind () call after timeout or sleep or ping) so as to allow time for Shared Access service registration with the RPC Endpoint mapper during start up.