This is the whole point, ad_schedule_proc is called not by the library but when adding a user to the system.
Background: I need to add a user to 300 communities. Doing this during office hours will get us killed (because of the performance drain involved). Luckily I can delay this and schedule the creation to run in the middle of the night. But what happens if the system is restarted between the user adding and the execution time in the middle of the night?