1.5.3, apparently 1 point before the DST fix in 1.5.4.
Rescripting them fixed it, my recurring schedules are working properly now. My assumption is that there must be something different in how the jobs are serialized between 1.5.3 and the current version that simply upgrading Hangfire wasn't enough. I would have loved some technique to tell hangfire to re-initialize the jobs. I understand that perhaps Hangfire doesn't even store enough information to re-initalize, but it'd be nice if it had.
Essentially, I sent Hangfire information like the choreID, the CRON, and the method with parameters. After DST, it stopped working, if I could have iterated through the jobs (without knowing their methods, crons, choreids, etc) and just told it to "reinitialize" or maybe even one step back, just simply tell hangfire to reinitalize all jobs, ultimately something that could become a button in the dashboard, it would be a nice way to "save" the corrupted jobs.
This is making the assumption that the jobs can ever get corrupted again by some other circumstance (presumably not DST since hopefully that was fixed). If they can't, if DST was the only thing ever, thats great I guess this isn't needed. But as it is, I would assume there is always going to be something else that can corrupt the job, and rebuilding all chores by hand probably isn't the best solution.