Unable to set error message in onBeforeDeleteUser
I can't think of a clean way to do this.

craft()-&gt;userSession-&gt;setError() is just a wrapper for craft()-&gt;userSession-&gt;setFlash() that uses a key of error and saves the message to user session and is good for one request.  Multiple calls to it just overwrite the same key causing the last one in to win.

You could maybe use setFlash() directly, passing in your own key, then add some JS for displaying the additional flash message similar to how Craft does it.