is the server shutting down cleanly ?
It sounds like the restart option is causing
the scheduler to think it did not complete. When the server starts
back up it sees that the program document that had to be kicked off never
was processed and it runs it again.
This can happen if the server does not
shut down cleanly. For example if you were to set a program doc to
kick off at 8 and let the program doc kick off and then run a -nsd -kill
when the server is restarted it will end up kicking off the program document
again.
I would check to see if the server
is coming down cleanly or not during the restart. Do you see a nsd
being generated during that time?