Hi there,
You have a couple of options. First one and the simpler one is to increase the service timeout value. This can be controlled from the Windows Registry and as far as I know can not be set from the RO Service class.
Google is your friend, look for How to increase Windows service timeout.
Second, and the one I will suggest is to load your data on a separate thread so the service can report itself as started.
We do it all the time and the Delphi Parallel programming library will help you to achieve that easily.