OK- so Ive been playing with possible solutions... this doesnt seem like the perfect answer- but I have configured a scheduled task to retsart apache every time it goes down, so if it does go down- it only goes down for a few seconds.
The scheduled task is set with a filter to see the apache 2.2 stopped error in the event log- below is the xml for th filter that will trigger the task to run.
<Query Id="0" Path="System">
<Select Path="System">*[System[Provider[@Name='Service Control Manager'] and (Level=4 or Level=0) and (band(Keywords,36028797018963968)) and (EventID=7036)] and EventData[Data[@Name="param1"]="Apache2.2"] and EventData[Data[@Name="param2"]="stopped"]]
Once you add the above filter xml make sure that you choose to allow the task to be run whether or not anyone is logged in, and for the username, choose an admin on the machine itself. Or create a enw admin that will be used for this service to start. They KEY here is that you need to configure that user to have "log on as batch" rights, you can do that in local sec policy. if it doesnt have log on as batch- the tack will appear to run properly but will never start.
For the action or program to run on the event trigger- just choose to start a program, and in the program to start put in - "C:\Windows\system32\net.exe" then in the box for starting arguments put in "start Apache2.2"
Then the next time apache stops for any reason- it will restart automatically- since the restart on failure doesnt work.
In the mean time- I hope there is a more permanent solution aside from using IIS and fastcgi. if I do need IIS- is there some directions newer than 7 years old? IIS in 2008 server looks nothing like 2003 server...???