Почему DateTime некорректно отрабатывает?
    Замечание:
    Значение аргумента $timezone равно как и текущая временная зона не будут учитываться, если в качестве аргумента $time передается метка времени UNIX (например @946684800) или время, в котором временная зона уже содержится (например 2010-01-28T15:00:00+02:00).
Вероятно где-то закрадывается поправка на часовой пояс.
Попробуйте добавить время 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"));
}