Ich bin mir nicht sicher, ob das eine weise Entscheidung ist, das so zu realisieren.
Wenn ich Dich richtig verstehe, löschst Du alle Dokumente der Datenbank, und zwar jedes Dokument einzeln für sich. Da das natürlich seine Zeit dauert, zeigst Du den Fortschritt mittels Statusbar an.
Die Implementation des Fortschrittsbalkens auf diese Weise sorgt dafür, dass Dein Programm nur noch unter Windows lauffähig ist, bzw. Du musst betriebssystemabhängig den Code anpassen. Auf jeden Fall baust Du Abhängigkeiten ein, die nicht notwendig wären, und zerstörst Dir die Möglichkeit der Plattformunabhängigkeit.
Warum löschst Du nicht alle Dokumente mit NotesDocumentCollection.RemoveAll? Das geht viel schneller, spart Zeit für den Anwender und erübrigt vielleicht sogar die Fortschrittsanzeige (die dann auch nicht funktionieren würde, da nur ein Befehl abgegeben wird).
Wenn ich den Programmfortschritt anzeigen will, verwende ich simple Prints. Der Benutzer weiß dann auch, wo das Programm gerade ist. Es ist zwar nicht so schick, wie so ein Fortschrittsbalken, aber schnell gebaut und plattformunabhängig.
Warum es im Prozessablauf überhaupt notwendig ist, Dokumente zu löschen, ist ein anderes Thema. Dazu müsste man mehr über den Zweck der Anwendung wissen. Du solltest aber wissen, dass das ständige Löschen und Neuanlegen von Dokumenten in Notesdatenbanken nicht der Weisheit letzter Schluss ist.