This method seems to have solved my problem:
http://www.microsoft.com/worddev/articles/AOV98B11.htm
It uses the ActionControl property to pass a parameter. Seems like a round-about way of doing it, but it works...
From the site:
This creates the command bar:
Private Sub Document_Open()
CustText(0) = "click Enter "
CustText(1) = "click OK "
CustText(2) = "click Next "
CustText(3) = "To do so, "
CustText(4) = "In this article, "
CustText(5) = "First, select "
Dim cmbControl As CommandBarControl
Dim cmbSubControl As CommandBarControl
Dim X As Integer
Application.CommandBars("text").Reset
Set cmbControl = Application.CommandBars("Text") _
.Controls.Add(Type:=msoControlPopup,Temporary:=True)
cmbControl.Caption = "Custom Text"
For X = 0 To Ubound(CustText)
Set cmbSubControl = cmbControl.Controls.Add _
(Type:=msoControlButton, Parameter:=X, Temporary:=True)
With cmbSubControl
.Caption = CustText(X)
.OnAction = "InsertText"
End With
Next X
End Sub
This function utilized the parameter that is passed when the user uses the command bar:
Function InsertText()
Dim TextParam As Integer
TextParam = CommandBars.ActionControl.Parameter
Selection = CustText(TextParam)
Selection.Collapse (wdCollapseEnd)
End Function