You just need to use the ^ event prefix, ie
on ^*:SENDFAIL:*:{ ... | haltdef }
Not sure if older versions could halt the reply in a non-^ event, but the current way is consistent with the way events work in mirc in general.