A weekly maintenance process requires stopping ArcGIS Server and ArcSDE services. After restarting all the services, is it better to restart IIS Admin Service or recycle Default App Pool? I currently run a python script to do the later, with inconsistent results. Sometimes it takes 2 or 4 attempts, or stopping and starting AGS and ArcSDE services again, to get the web services working. I'd like a clear procedure that will work each time.
Restarting the IIS admin service just puts more steps into the restart process for IIS. It may make things easier for you, but I would recommend a more careful restart:
Restarting IIS Admin service would be fine, but if your server also has FTP or SMTP services running through IIS they will be brought down too. Recycling the Default App Pool (and any other pools that run your maps!) should be adequate.
Recycling your application pool does not immediately kill the worker processes - it waits for them to complete, or for the timeout period to expire. This would be the reason why they would still be running after a few attempts to recycle.
It will however eventually restart all processes (and without suddenly cutting someone off).
In IIS7 you can see the requests that are still running by clicking on the Worker Process icon in IIS manager, and then double clicking on an individual process.