Si no he entendido mal, con comprobar si $_POST['fecha_inicio'] y $_POST['fecha_fin'] están tildados y en el UPDATE poner la hora en el formato que tengas es suficiente.
Una solución podría ser (es muy guarro y no recomendable pero es para orientarte):
Código PHP:
if(isset($_POST['fecha_inicio'])){
$_POST['fecha_inicio'] = date('d-m-y');
}
if(isset($_POST['fecha_fin'])){
$_POST['fecha_fin'] = date('d-m-y');
}
//Y aquí tu código.
Un checkbox no envía datos...