Quando usi una Combo, quesa punta di DEFAULT alla BOUNDCOLUMN, quindi quel VARIANT che invece usi, secondo te contiene l'OGGETTO o il VALORE...? Opterei per la seconda..., quindi non puoi usare la proprietà TEXT su [ctrl] in quanto non è un'oggetto ma un Valore... oltretutto come ti ho già detto NON USARE TEXT.
Devi poi imparare a fare DEBUG e mettere la gestione errori, altrimenti prendi fischi per fiaschi..., come appunto esposto sopra.
Private Function ComplicatissimoMetodo(CtrlValue As Variant, SeVero As String) As String
If Len(CtrlValue & vbNullstring) = 0 Then
ComplicatissimoMetodo = "KO"
Else
ComplicatissimoMetodo = SeVero
End If
End Function
Da richiamare
ComplicatissimoMetodo(Me.MioCbo, "OK")
Altrimenti scrivi semplicemente come avevo suggerito sopra adattandola.
P.S. se vuoi passare l'Oggetto devi dichiarare il Parametro come Object o come Access.Control, o come Access.ComboBox, questo solo per accedere all'intellisense della classe oggetto.