Сергей, дело в том, что программа на php - это скрипт, который запускается по требованию, выполняется и выгружается из памяти. Для этого и нужен cron, который с некоторой периодичностью будет запускать этот скрипт, а скрипт уже сверив время выполнял или не выполнял нужные действия.
То, о чём вы говорите, делает программа, которая постоянно висит в виде процесса, но php так не умеет. По крайней мере из коробки.