Нужен совет по замене крона?
php.net/manual/en/function.flock.php
Не изобретайте велосипед, все уже придумано до вас
запустился скрипт, лочит файл, если удалось, работает, нет, умирает
если время лока больше ХХХ то предидущий скрипт завис, насильно снимаем блокировку, работаем
В чём проблема сделать проверку в скрипте?
Например: 
Скрипт запускаем кроном каждую секунду. В самом начале скрипта, в базе указываем, что скрипт выполняется. После завершения работы скрипта, указываем в базе, что скрипт больше не выполняется.
И при каждом запуске скрипта по крону, проверяем значение и либо выполняем дальше скрипт, либо завершаем работу.