Verifica che la data passata sia corretta.
Verifica che questa:
Codice PHP:
$data_inizio=date("Y-m-d", strtotime(str_replace('/', '-', $sel_data_inizio)));
e questa:
Codice PHP:
$sel_data_inizio=$POST['inizio'];
ti diano le informazioni corrette.
Io uso timestamp e mi evito miriadi di grattacapi… con quello ti darei una mano volentieri 
Inoltre strtotime richiede una formattazione precisa:
Codice PHP:
<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>
Probabilmente usi data italiana e lui richiede quella americana...