So I know how to setup a cron using the config.xml crontab stuff:
If I were approaching this problem, I might run the cronjob at whatever the maximum interval useful to me was, and then use the cronjob execution itself to account for the system setting. I'm not sure if the solution you posted will work, but if it does come tell us, because it's another pretty clever approach :)