The Access controls are really helpful here. But you're using
VB, so that's no help.
I just now made a simple form with a combo on it, and it allowed me to type randomly into it.
So then, on Lost Focus, Change, or maybe Validate, I suspect that you can search to see if the data typed in matches anything existing, and take appropriate action if not. (Add it to the database then requery, or whatever.) I'm afraid I'd need to do some experimentation to be more explicit.
Sure seems like a behavior that Microsoft could have anticipated a little better...