Wenn kritische Fehler auftreten würde ich das Script sofort stoppen. Wer weiss was genau dann nicht korrekt abgearbeitet werden konnte und welche Lücken sich dadurch auftun. Wenn man noch in der Entwicklung ist, wo normalerweise kein User oder Kunde sein sollte, kann man ruhig alle Fehler hintereinander runterrattern, dann hat der Entwickler einen Überblick, vielleicht hängen auch mehrere Fehler zussammen.
Bei Notice oder E_USER_WARNING usw würde ich dem User das gar nicht mitteilen, sondern in meinen Augen dient es nur dem Programmierer das er hier noch eine Fehlerprüfung einbauen muss oder generell etwas verändern muss, damit sein Script mögliche Usereingaben abfängt (Beispiel: Division by Zero). Diese Fehler erzeugen auch im "Normalbetrieb" des error handlers kein Scriptabbruch und der User kann eh nichts ändern. Daher kann man bei einem selbst definiertem user handler dies unterbinden.
Desweiteren möchte ich hier anmerken das genaue Fehlerursachen nicht dem User vorgeworfen werden sollte. Der Kunde oder Benutzer sollte in meinen Augen nicht wissen, wie eine Datei heisst wo der Fehler auftritt und was der Fehlergrund ist. Für den, ich sag jetzt einfachmal DAU User sind das nur kryptische Buchstaben. Böswillige User haben Anhaltspunkte wie ein Script aufgebaut sein kann und Lücken sein könnten.
Von daher mein Rat, das wenn ein kritischer Fehler auftritt, der User nur eine Meldung kriegen sollte, das es ein Fehler aufgetreten ist, eventuell falls die Scriptlogik es noch zulässt einen simplen und verständlichen Grund angeben und sich entschuldigen. Im Anschluss muss der Webmaster per logfile oder per Mail (uhh, bei vielen fehlern) informiert werden. Auch darüber sollte der User informiert werden, daß der Fehler an den Webmaster gemeldet wurde und der sich ASAP darum kümmert.
Vielleicht hilft dir das in deinen Entscheidungen.