Vi è mai successo che misteriosamente delle combo non vi vengano visualizzate?

Cercherò di spiegarvi nel dettaglio il mio problema...

Io ho una serie di array di combo che vengono abilitate (e popolate) e disabilitate (e spopolate) da un checkBox, in una sub del tipo:

codice:
Private sub chkA_click()

dim i as integer

  if chkA = 1 then
     for i = 0 to comboUno.ubound
       comboUno.enabled = true
       popolaCombo
     next i 
  else
     for i = 0 to comboUno.ubound
       comboUno.enabled = false
       comboUno.clear
     next i 
  end if

end sub
______________________________

private sub popolaCombo()

dim rs as adodb.recordset
dim i as integer

    set rs = new adodb.recordset
    set rs = connessione.execute("Select descr from table")
    
    if not rs.eof and not rs.bof then
       
       for i = 0 to comboUno.ubound
           rs.movefirst
           while not rs.eof
              comboUno(i).addItem (rs!descr)
              rs.moveNext
           wend
       next i 
    next i  
  
    rs.close

end sub
I dati selezionati in queste combo vengono poi usati per eseguire delle query (database MySQL) per ricercare i valori che verranni effettivamente salvati in delle variabili globali (array di stringhe).
(queste variabili vengono anch'esse cancellate nel caso si "dechekki" il checkBox che le attiva)

codice:
Private sub comboUno_change(i as integer)
   
   dim rs as adodb.recordset

   set rs = new adodb.recordset
   set rs = connessione.Execute("select codice from table where campo = ' & comUno(i).text & "'")
   
   if not rs.EOF or not rs.BOF then
      rs.MoveFirst
      uno(i) = rs!codice
   end if

   rs.close

end sub
Se scarico il form e poi lo ricarco mi verranno visualizzati i dati che ho inserito in precedenza

codice:
Private sub caricaPrecedentiComboUno()
   
   dim i as integer   
   dim rs as adodb.recordset
   
   for i = 0 to comboUno.ubound

      set rs = new adodb.recordset
      set rs = connessione.Execute("select descr from table where codice = ' & uno(i) & "'")
   
      if not rs.EOF or not rs.BOF then
         rs.MoveFirst
         comboUno(i).text = rs!descr
      end if

      rs.close
    
    next i

end sub
Il problema è che a questo punto le combo spariscono!!!
(in realtà se clikko dove dovrebbero essere riappaiono, ma senza bordi...)

Qualcuno mi sa spiegare il perché?

Grazie a tutti e buon lavoro!!!