I think the real problem is in ns_sendmail. acs-mail-lite does a if {[catch ns_sendmail ..... I don't think ns_sendmail handles it that way.
I'll take a look into it.
I've always had a problem with the ns_sendmail handles things (I have a modfidied ns_sendmail I use for uptime.openacs.org). Maybe we should consider a ns_sendmail wrapper for OpenACS to handle mail sending and error handling correctly?