Scusami oregon hai ragione nella fretta ho dimenticato di dire che si tratta di VB6.

Allora, il frmDialog è nello stesso progetto dell'OCX e questo è il codice del cmdCambia:
codice:
Private Sub cmdCambia_Click ()
UserControl.CambiaSfondo vbRed  'Mi dice che non trova riferimenti all'oggetto UserControl
End Sub
Nell'OCX c'è invece questo:
codice:
Sub CambiaSfondo (ByVal Colore)
BackColor = Colore            'Cambio lo sfondo all'OCX
End Sub

Sub MostrafrmDialog ()
frmDialog.Show                   'Mostro il form frmDialog (la chiamata a questa sub viene fatta nel progetto di test)
End Sub
Allora, cosa ne pensi?