Depende del tipo de conexión que estés usando; pero en todo caso acostúmbrate a cerrarla antes de abrirla.
Para evitar que te dé error, la instrucción de cerrar la conexión hazla condicionada a que esté abierta, por ejemplo:
If DataEnvironment1.rsComand.State Then DataEnvironment1.rsComand.Close
Esta instrucción nunca va a darte error y te va a evitar que te dé error la apertura...
Saludos y suerte