thanks for the input. i did think about those options but but IMO the problem with them is that they introduce lots of steps that you have to remember with each site that you set up, install the modules, edit your civicrm settings files. plus there is always the chance that some random module doesn't obey the rules that you have set up.
It seemed to me that since I can control the test server, I could just add the config to postfix and then no emails would get sent out ever.
Having said that, if I did do 2, it would only be one step to remember for each site. but still that is one step more than none.
PS. it seems like the best way to implement mail redirect would be to be redirect all mail by default and then turn off mail_redirect in the production environment, so that whenever you make another environment, email is redirected by default. That is what mr felton's (very cool and useful) http://drupal.org/project/environment_indicator