Bueno segun veo en tu codigo, tienes una concatenacion dentro de tu for en esta parte:
Código PHP:
$sql.=$name;
$values.="'".$$name."'";
$bandera=true;
y seguro eso te generara una consulta de este tipo:
Código:
INSERT INTO clientes (col1,col2, col3, ...) VALUES ('val1', 'val2', 'val3',...)
el problema es que si mandas null o cualquiero otra cosa que no tenga formato de fecha de mysql (0000-00-00) te insertara los ceros que no quieres si quieres insertar null tienes que mandar el NULL pero sin las comillas simples