I've experimented with this approach.
If the program that is to be run as a service is not designed to be run as a service, then it will respond to the logoff and shut down. So it works fine on startup and through the first user to logon but will exit when the user logs off.
That is the reason for products like Firedaemon that continually monitor the program to be run as a service and restart it whenever it exits.
A much better answer is to run it as a scheduled task under Windows 2000 and later. Because it runs in it's own logon it will not exit until you shutdown or restart.
Running FaD as a scheduled task also has a couple of other differences.
For FaD, the normal interfaces (tasktray icon) will not appear. Even if you select windowed for THINK and Server, they don't show up when running FaD as a scheduled task.
Running FaD as a service with srvany may leave the interfaces available to the user depending on how the service is configured.
Personally, I run a large number of clients as scheduled tasks.