How to overrule Craft error messages with custom setError()?
I recently asked P&amp;T about a similar issue, although it was for the onBeforeSaveEntry event (not onBeforeDeleteEntry) -- it turns out that you need to set the error on a specific field, not the entry as a whole. I don't know if this is the case for your problem, but perhaps worth trying something like this:

$event-&gt;params['entry']-&gt;addError('title', 'Cannot delete because blah blah blah');