Alternative ...
Function AddXRec(ByRef XrecName As String, _
DataType As Variant, _
Data As Variant) as AcadXRecord
Dim dict As AcadDictionary, _
xrec As AcadXRecord
Set dict = ThisDrawing.Dictionaries.Add("VBAtoLisp")
Set xrec = dict.AddXRecord(xrecName)
Call xrec.SetXRecordData(dataType, data)
Set AddXRec = xrec
End Function
Sub Test ( )
Dim xrecName As String, _
dataType As Variant, _
data As Variant, _
result As AcadXRecord
ReDim dataType(0 To 0) As Integer
ReDim data(0 To 0) As Variant
xrecName = "Test"
dataType(0) = 1
data(0) = "asd"
Set result = AddXRec(xrecName, dataType, data)
'' do other stuff with result ...
End Sub
Edit: Fixed the return value.