Con eso lo que estás haciendo es si existe algún registro, entonces le asignas a la variable estado el valor del campo "estado" de tu tabla. Y luego comprobás cual es el valor de la variable estado. Probá asignando un valor inicial a la variable estado, por ejemplo, asignale un 0 como valor inicial, haber que sale.
De todas formas, según entendí como lo querés hacer según tu explicación al final del post, podrías hacer algo como esto:
Código:
if RS.EOF then 'Si no existe ningún dato, entonces muestro Reservar
Response.Write("<a class='texto2' href='transporte.asp?cod_reserva="&rs("cod_reserva")&"'>Reservar</a>")
else 'Si existe algún dato, entonces muestro "Reservado"
Response.Write("Reservado")
end if
Espero que haya sido de ayuda.
Saludos!.