Läuft dein Programm denn die ganze Zeit? In diesem Fall musst Du einfach nach dem Anzeigen der Nachricht das Datum (aus einer Variablen/Datenbankfeld/Ini-Datei o.ä.) "hochzählen", speichern und mittels Timer in regelmässigen Abständen nachgucken, ob der nächste Termin erreicht ist.
Wenn das aber nicht der Fall ist, würde ich Bernhards Vorschlag aufgreifen und mit Hilfe der Aufgabenplanung prüfen ob Dein Programm schon läuft, ggf. mit Parameter "Autostart" (o.ä.) starten, dann wie oben und sofort wieder beenden, wenn der Parameter gesetzt ist ...
hmm ... zu spät