Вам надо запускать по крону регулярно скрипт, который будет смотреть, есть-ли какая-нибудь задача и подошло-ли время её выполнения. И Если да, выполнять. Если в процессе выполнения произошла ошибка куда-нибудь сохраняется время(файл, база, key-value), когда надо будет повторить попытку.
Т.е. вам не надо из php создавать задания крон, вам надо создавать здания для своего периодически выполняющегося скрипта.