ich formuliere es mal so: ^^
Wenn dein Dialog aufgerufen wurde, dann speicherst du einfach welchen Status die CheckBox hatte.
Und beim nächsten Start des Programms prüst du einfach ob/was mal irgendwann gespeichert wurde und wenn da halt steht, daß derjenige diesen Dialog nicht mehr sehn wollte, dann zeigst du ihn einfach nicht an.
Wenn nichts Gepeichertes gefunden, oder eben das Anzeigen erlaubt war, dann eben anzeigen.
Zum Speichern gibt es die Registry, INIs und viele andere Möglichkeiten.