Hola.
Me llamó la atención lo que estabas buscando hacer. Aquí te mando el código de una prueba que hice y me parece que resuelve tu problema:
Private Sub Combo1_Click()
Dim i As Integer
Dim indice As Integer
Dim nvoElement As String
If (Combo1.Text = "-añadir-") Then
nvoElement = InputBox("Escriba el nuevo elemento", "Añadir")
If nvoElement <> "" Then
Combo1.AddItem nvoElement
End If
End If
' para que me muestre seleccionado el nuevo elemento
'
' ésta es una forma
' Combo1.ListIndex = Combo1.NewIndex ' sólo si el elemento se añade al final de la lista
'
' esta es otra forma. Si no sé en que posición se añade (ej. si utilizo la propiedad Sort)
For i = 1 To Combo1.ListCount
indice = i - 1
If (Combo1.List(indice) = nvoElement) Then
Combo1.ListIndex = indice
Exit For
End If
Next i
End Sub
Lo interesante del código es lo que esta contenido dentro del bucle for. Fíjate que debes almacenar en una variable (nvoElement en el caso de mi prueba) el elemento que deseas agregar para realizar luego la comparación de ésta variable con cada uno de los elementos que integra el combo. Como vez la comparación se realiza a nivel de cadenas de caracteres ya que la propiedad List devuelve o establece el elemento de determinada posición. Al haber una coincidencia se establece la propiedad ListIndex al elemento que produjo la coincidencia (representado por la variable "indice"). Como supongo que cada elemento es único coloco un Exit For para salir del bucle una vez establezco la propiedad ListIndex (que es la que se encarga de mostrarme el elemento recién ingresado).
Bueno espero que esto te ayude a resolver lo que estás buscando hacer.
Suerte.
Hey, por cierto, si puedes indicar la forma en que agregas tanto en el combo como en la base de datos te lo agradecería.