No te puedo dar una solución porque no conozco la sintaxis propia de SQL Server, pero te voy a poner un ejemplo de cómo se haría con MySql para que preguntes por algo equivalente en SQL Server.
Código PHP:
$sql = "SELECT *
FROM ENQ_E WHERE IdEn = $2
AND Inici < NOW()
AND Final > NOW()";// Incluso se simplificaría con "BETWEEN (o no se puede?)"
$dades = mysql_query($sql, $servidor);
echo '<br>';
if($row = mysql_fetch_array($dades)){// Si hay un registro que cumpla...
echo "Ya se puede hacer";
//Y si quieres lees las variables necesarias de la BD
$npreg = $row["NumPreg"];// etc, etc...
}else{
echo "Está fuera de tiempo. No se puede realizar.";
}
En SqlServer podría ser algo como:
Código PHP:
$sql = "SELECT *
FROM ENQ_E WHERE IdEn = $2
AND Inici < GetDate()
AND Final > GetDate()";
// O (No sé si se pueda) con BETWEEN:
$sql = "SELECT * FROM ENQ_E
WHERE GetDate() BETWEEN Inici AND Final";
Es cuestión de que averigües la sintaxis correcta.
Lo que trato de decir es que ya no necesitas hacer uso del manejo desde PHP con mktime ni similares.
Saludos