Very odd, may be a bug, but one thing to check is by default scheduled tasks run at the end of page requests, so if no one visits the site from say 1am to 7am, your task will run at 7am when someone visits a page (and since that's off-peak hours of 2 to 6, perhaps this is an issue?)
To prevent this, you can either set up a page pinging service to ping your site periodically (keep it alive and visit a page which will then trigger the scheduled tasks), or by setting up a dedicated external windows service (see this article).
Otherwise i would check to make sure no other operation is adjusting your schedule tasks. what version are you on?