Visual Cron currently stores all settings in XML files. These XML files are updated frequently, and in the event of a crash, they can become corrupted.
Any time a job/task is run or modified, the server has to write out the entire jobs.xml file. This isn't an issue if you only have a few jobs that don't run that often, but if you have a significant number of jobs, the server is writing out the entire jobs.xml file every few minutes. We have 306 jobs, and our jobs.xml file is 132MB. Each job's and task's last execution time, status (waiting/running), result, etc are stored in the XML, so when a task completes, that information is updated, and the entire XML file is written out again. This is not only inefficient, but it is also dangerous as it can lead to corruption if the power goes out or the server crashes while the XML file is being written. Our jobs.xml file has become corrupted two times this week due to power outages. This morning, our job count went from 306 to 179, and there was no notification that the server had an issue loading the jobs file and half our jobs were missing. We only noticed the jobs were missing once we started to get tickets that people were not receiving their reports/files. If the server has an issue with corruption, it should have some sort of mechanism that will alert/notify the client that something happened so the user can investigate and verify that everything is as it should be.
If you search the forum for missing jobs, you can see that this has been a problem for many years, and it has not been fixed or even addressed properly yet. This shouldn't be considered a "feature request" - this should be considered a severely fatal bug, and it should be addressed as such.