Usa mysql_num_rows que te devuelve el número de filas afectadas o encontradas.
Código PHP:
if(mysql_num_rows($rs) == 0)
{
//si no lo encuentra inserta...
$q = "insert into reg_ent_sal(cod_reg,num_empleado,fecha_reg,hora_ent,hora_sal,foto_reg,retardo)";
$q.= " value('".$diferencia."','".$empleado."','".$fecha."','".$entrada."','".$salida."','','".$retardo."')";
$r = mysql_query($q,$cn);
}
Otra cosa que veo, tu dirás si estoy en lo correcto, es que en la consulta pones como condición una fecha, esto puede resultar que aunque el usuario exista, si la fecha no es la misma el registro se inserte de nuevo.
Que fecha es la que consultas? fecha de nacimiento? de registro?
Se me ocurre solo un caso en el que esta consulta sería correcta, por ejemplo si cada usuario puede ingresar un registro por día.
Si ese es el caso olvida mi acotación.
Saludos.