La verdad es que tal como presentas tu post, no se ve por ninguna parte el por qué tienes que cerrar esa conexión cn. Pero, si estás seguro de que has de cerrarla ahí, y te da error, es posible que ya la traigas cerrada...
Sustituye esa línea por
Código:
If cn.State Then cn.Close
y es de suponer que se te arregle el problema, aunque no sé si es la mejor solución.