Do the services on the 1st server listen on a specific TCP port? You could have the second server do an while loop or do until those ports are back up and listening from the first server being rebooted and then trigger each dependent server in that manner.
emailing will only work if the SMTP server you’re using alows the IP Address of the server sending the email to relay.
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/58f05ef9-55a3-42b3-9f57-27fdc8723b8a.mspx?mfr=true
Also if the batch files work maybe you can post the batch file code here so we can look at it and show how it might be done with PowerShell.
-VERN