Вероятно где-то закрадывается поправка на часовой пояс.
Попробуйте добавить время 12:00:00 чтобы поправка на часовой пояс не переходила через сутки.
$startTimestamp = strtotime('01.10.2014 12:00:00');
$endTimestamp = strtotime('10.10.2014 12:00:00');
$begin = new DateTime("@".$startTimestamp);
$end = new DateTime("@".$endTimestamp);
$interval = new DateInterval('P1D');
$daterange = new DatePeriod($begin, $interval ,$end);
foreach($daterange as $date){
var_dump($date->format("d.m.Y"));
}
либо добавить одну строку
date_default_timezone_set('UTC');
$startTimestamp = strtotime('01.10.2014');
$endTimestamp = strtotime('10.10.2014');
$begin = new DateTime("@".$startTimestamp);
$end = new DateTime("@".$endTimestamp);
$interval = new DateInterval('P1D');
$daterange = new DatePeriod($begin, $interval ,$end);
foreach($daterange as $date){
var_dump($date->format("d.m.Y"));
}