Danke Euch allen!
Habe es nun doch mit der API gemacht (auch wenn ich es hasse, Code nur zu kopieren). Um das Windows-Client-Problem zu umgehen, habe ich etwas umorganisiert. Geplant hatte ich, während des Aktivierens der Agenten (es werden dabei mehrere Agenten unterzeichnet, deshalb eine eigene Schaltfläche) die Uhrzeit mit abzufragen und zu setzen. Bei Nicht-Windows-Clients oder anderen Fehlern, die ich mangels Erfahrung mit der API nicht absehen kann, würde der Aktivierungsprozess nicht funktionieren.
Also habe ich nun eine separate Aktion gebaut, die die Uhrzeit abfragt, aus einer Liste zwischen 1:00 und 4:55 eine neue Startzeit auswählen lässt und die neue Zeit in den Agenten schreibt. Funktioniert einwandfrei. Vorteil ist nun, dass ich sogar vorgeben kann, welche Startzeit verwendet werden darf (ein Agentenlauf z.B. um 12:00 Uhr wäre in dem System unsinnig).
Funktioniert die Zeitauswahl nicht (Client- oder API-Problem o.ä.), stört das nicht so sehr, da das Aktivieren davon nicht betroffen ist. Dann bleibt es halt bei 1:00 Uhr. Ist zwar ein Klick mehr (ich bin da schon pingelig), aber sicherer.
Sinngemäß läuft es so:
GetAssistInfo db, "MeinAgent", info
info.Time1 = Cdat (neuerWert)
SetAssistInfo db, "MeinAgent", info
Msgbox "Bitte aktivieren Sie die Agenten erneut ...
Das Ermitteln des neuerWert hier zu posten wäre sinnfrei, da dort eigene Routinen verwendet werden, die niemand sonst hat.
Also vielen Dank noch einmal.