Hola Patriarka, 
 
Si le puse tu codigo y me guarda de esta forma por ejemplo como en la imagen de arriba me guarda en la base el priemro con valor 1 el segundo con valor 1 y el tercero no guarda, y como ves en la imagen yo hice el chec en el primero y el tercero. 
 Código PHP:
             if (isset($_POST['nombre'])){
            for($i = 0; $i<count($ent_si_no); $i++){
                $_ent_si_no = (isset($ent_si_no[$i]) && !empty($ent_si_no[$i])) ? $ent_si_no[$i] : 0;
                $acta="INSERT INTO ps_acta (ing_si_no, observacion, product_id, user_id, reference, cantidad, total)
                VALUES ('$_ent_si_no', '$obs_ent[$i]', '$prod_id[$i]', '$user[$i]', '$refer_ped[$i]', '$cant_prod[$i]', '$tot_com[$i]')";
                Db::getInstance()->execute($acta); }
       } else {
        echo 'aun no guarda nada';
       }