Hola, Dani.
Perdona mi atrevimiento al querer corregir tu código.
Puesto que las Strings de NotificationsList llevan aparejado un número de orden después del signo igual(=)
he comprendido que sí es necesaria la función ExtractName.
Código Delphi
[-]function TForm1.ExtractName(const AStr: string): string; begin
Result := AStr.Substring(0, AStr.IndexOf('='));
end;
El problema es que ahora no borra las notificaciones.
Seguiré investigando por qué.
Un saludo cordial.