You should go with the better solution from the beginning as it is unlikely that you'll rewrite/rearchitect scripts once they're finished.
A Microsoft Access database with just one table is set up as fast as your Excel spreadsheet. Coding the information retrieval via SQL is basically a one-liner if you use DBCommand(). And you can have multiple users/scripts access the database at the same time.
It's also the "more correct" way to approach the problem, IMHO.
Another question: Why does it need to run as a service? I do not see anything in the code that woudl justify this. You could alwasy use the ScheduleTask() UDF to remotely schedule the execution of a script.
There are a couple of UDFs that control services remotely without external executables.
Finally, doesn't SC require administrative privileges for the remote server in order to control the service? What type of rights does yoru typical user have?
Oh, and do I see that correctly that you keep your user's passwords on file? That would be a big (HUGE) NO-NO with me. Also, you might want to clean up your posted code and remove that public IP address and that admin password that kept in there!
_________________________
There are two types of vessels, submarines and targets.