I am sorry I am going to make this quick. I wanted to offer you a place to start before the long weekend.
I would pull the services that are running and dump them to a “pre” text file. After reboot, pull those and make sure they are running.
q: (service name of it) of services whose (state of it = "Running")
A: Appinfo
A: BESClient
To prove they are running you can add “state of it”. But you dont really want to dump that to a text file you are going to parse…
q: (service name of it, state of it) of services whose (state of it = "Running")
A: Appinfo, Running
A: BESClient, Running
To put in a file, this would be the action…
appendfile {concatenation "%0d%0a" of (service name of it) of services whose (state of it = "Running")}
folder delete "c:\ServicesStates"
folder create "c:\ServicesStates"
copy __appendfile "c:\ServicesStates\RunningServices.txt"
Results look like this…

You can read the file like this…
lines of file "C:\ServicesStates\RunningServices.txt"
I believe you can cycle that through starting the service. with actionscript but you could also do it with a batch file.
I would have to do a little research to make that happen. Hope this helps and I will check back on Tuesday