FWIW and in case you're still interested, I think that the MouseOver event would still be the most logical approach.
This fragment initializes the label BG to yellow, and when you move the mouse with into the UF, the label's BG is goes red.
Mousing into the label makes the BG green until you leave the label and then it's BG returns to red.
This is for one control, but you could create a class and use With Events to be generic. Personally, if I only had 4-5 controls, I think 4-5 mostly duplicate even handlers would be easier
Option Explicit
Private Sub CommandButton1_Click()
Me.Hide
Unload Me
End Sub
Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Me.Label1.BackColor = vbGreen
End Sub
Private Sub UserForm_Activate()
Me.Label1.BackColor = vbYellow
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Me.Label1.BackColor = vbRed
End Sub
Paul