I am sure you are correct, but the way I am sequencing the rules *seems* to make it work.
*** site is up ***
request passes through /maintenance checker - Rule 2
pool is up, complete request - Rule 3
*** site is down ***
request passes through /maintenance checker - Rule 2
pool is down, redirect to uri /maintenance - Rule 3
request gets caught by /maintenance checker - Rule 2
html page (just html text) shows down message and sets retry of site in 10 seconds - Rule 2
call to event disable all stop other rules while waiting for retry - Rule 2
...10 seconds pass, call to site
if site is up, it goes through ***site is up from above
if site still down, goes through ***site is down from above until site comes back up
it seems to be working but I'm not sure this is the proper way.