ok, here's a possible solution for you.

you need to place the name of the label you want to be associated with the button in the button's Tag property. for example, I placed Label1 into the Tag property of CommandButton1.

the code
VB Code:
  1. Private Type POINTAPI
  2.     X As Long
  3.     Y As Long
  4. End Type
  5.  
  6. Private Declare Function GetCursorPos Lib "user32" ( _
  7.     lpPoint As POINTAPI) As Long
  8.    
  9. Private Declare Function ClientToScreen Lib "user32" ( _
  10.     ByVal hwnd As Long, lpPoint As POINTAPI) As Long
  11.    
  12. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
  13.     ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  14.  
  15. Private bRunning As Boolean
  16. Private lhWnd As Long
  17.  
  18. Private Sub UserForm_Initialize()
  19.     lhWnd = FindWindow(vbNullString, Me.Caption)
  20. End Sub
  21.  
  22. Private Sub UserForm_Activate()
  23.     If Not bRunning Then
  24.         bRunning = True
  25.         TimerLoop
  26.     End If
  27. End Sub
  28.  
  29. Private Sub TimerLoop()
  30.     Dim ptCursor As POINTAPI, ptClient As POINTAPI, ptBlank As POINTAPI
  31.     Dim lX As Long, lY As Long
  32.    
  33.     Do While bRunning
  34.         DoEvents
  35.        
  36.         GetCursorPos ptCursor
  37.         ClientToScreen lhWnd, ptClient
  38.        
  39.         lX = (ptCursor.X - ptClient.X) * 0.75
  40.         lY = (ptCursor.Y - ptClient.Y) * 0.75
  41.        
  42.         If lX > -1 And lY > -1 Then GenericMouseOver lX, lY
  43.        
  44.         ptClient = ptBlank
  45.     Loop
  46.     Unload Me
  47. End Sub
  48.  
  49. Private Sub GenericMouseOver(ByVal lX As Long, lY As Long)
  50.     Dim ctl As Control
  51.    
  52.     For Each ctl In Me.Controls
  53.         If TypeOf ctl Is CommandButton Then
  54.             If lX > ctl.Left And lX < (ctl.Left + ctl.Width) And _
  55.                lY > ctl.Top And lY < (ctl.Top + ctl.Height) Then
  56.                 If Not Me.Controls(ctl.Tag).Visible Then Me.Controls(ctl.Tag).Visible = True
  57.             Else
  58.                 If Me.Controls(ctl.Tag).Visible Then Me.Controls(ctl.Tag).Visible = False
  59.             End If
  60.         End If
  61.     Next ctl
  62. End Sub
  63.  
  64. Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  65.     If bRunning Then
  66.         Cancel = True
  67.         bRunning = False
  68.     End If
  69. End Sub
the code works - it's just a question of whether you'll be able to integrate it correctly.