Non cambia assolutamente niente, come sintassi è giusta anche il Do...Until che equivale a scrivere:

codice:
If Cn.State <> ConnectionState.Closed Then
       Cn.Close()
End If
se infatti la connessione è già chiusa salterebbe comunque il loop.