Also, on #1, I'd point out that sending an email upon failure is a notification, not exception handling. If I wrote a spec and asked for exception handling, I would intend for something more robust.
Tim Mitchell, Microsoft Data Platform MVP
Data Warehouse and ETL Consultant
TimMitchell.net | @Tim_Mitchell | Tyleris.com
ETL Best Practices