Answer
A background cleanup process automatically purges scheduled database tasks that have remained inactive for longer than a configured number of days — check the relevant System Parameter controlling this retention threshold and increase it to a value that comfortably covers how far in advance you need to pre-create inactive tasks. Without adjusting that parameter, any inactive task left sitting for longer than the configured threshold will be silently cleaned up, which is exactly what happened here.