Hola, pues las fechas siempre se graban en el formato 
Y-m-d, y en ese formato es que se deben grabar, de lo contrario tendrías un valor similar a 0000-00-00
Estas funciones que utilizo te pueden servir 
 Cita:  function fecha_mysql($fecha){
    ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha, $fecha_mysql);
    $cambio=$fecha_mysql[3].'-'.$fecha_mysql[2].'-'.$fecha_mysql[1];
    return $cambio;
	} 
 
function mysql_fecha($fecha){
    ereg( "([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $fecha_normal);
    $cambio=$fecha_normal[3]."/".$fecha_normal[2]."/".$fecha_normal[1];
    return $cambio;
	}
    la primera es para almacenar las fechas en la base de datos y la segunda es para mostrarla en el formato d-m-Y