Не нужно никакого Cron`а и хранения попыток проголосовать.
Создаете табличку, где будут логгироваться голоса:
CREATE TABLE IF NOT EXISTS `votes_log` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
При попытке проголосовать делаете запрос в базу:
SELECT COUNT(*) FROM `votes_log` WHERE date > DATE_SUB(NOW(), INTERVAL 3 DAY) AND user_id=?
Этот запрос возвращает сколько раз проголосовал пользователь за последние 3 суток.
Если меньше 5-ти - принимаем голос (и записываем в эту таблицу).