El error de elementos duplicados lo solucionas mas que nada desde el diseño de tu base de datos, debes declarar un index unique sobre el campo que no deseas que sea duplicado nunca.
Entonces en tu insercion, simplemente esto:
on error resume next
'CODIGO.
'CODIGO.
'CODIGO.
rs("referencia")=request("referencia")
if Err.Number > 0 then
//Hubo X error
end if
Es decir, asi el trabajo de integridad y seguridad de bases de datos lo dejas en la base de datos, donde realmente debe hacerse la mayoría de las veces.
Suerte...
Y felicidades Tragus por tus 1000 mensajes