You should just be passing the additional parameter into the invoke after you're done adding it to your signature.
So, this:
Me.Invoke(d, New Object() {[text]})
Becomes:
Me.Invoke(d, New Object() {[text], [text2]})
Something like that.
--------
Update:
Here's a snippet that would work, with either syntax you can call invoke...
Public Class Form1
Delegate Sub SetTextCallback(ByVal A As String, ByVal B As String)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim d As New SetTextCallback(AddressOf Method)
Invoke(d, "A", "B")
Invoke(d, New Object() {"One", "Two"})
End Sub
Private Sub Method(ByVal A As String, ByVal B As String)
Trace.Write(String.Format("{0} {1}", A, B))
End Sub
End Class