Hola,
una cuestion, por qué en la SELECT de comprobacion de duplicados no colocas los parametros $idal y $idrec entre comillas simples como lo haces en el INSERT?
Qué tipo de campos son en la tabla , texto o numeros ?
Si el INSERT te funciona ok, puede ser que sean cadenas de texto y por eso, a lo mejor, la hacer la select sin las comillas no te devuelve nada, posiblemente te este devolviendo algun error que no ves o no se muestra ...
saludos