Sorry Matt,
After looking at your code for what you are really trying to do, all I can see wrong is that you are not assigning X to a surface Boundaries collection. Converting your code to a Function that accepts a valid surface as an argument, this works:
Function AddMultipleBoundaries(oSurface As AeccTinSurface)
Dim x As AeccSurfaceBoundaries
Dim ssSet As AcadSelectionSet
Dim FilterType(0) As Integer
Dim FilterData(0) As Variant
Dim obj As AcadEntity
Dim i As Integer
Set x = oSurface.Boundaries
Set ssSet = vbdPowerSet("Boundaries")
FilterType(0) = 0
FilterData(0) = "lwpolyline"
ssSet.SelectOnScreen FilterType, FilterData
i = 1
For Each obj In ssSet
x.Add obj, "Boundary " & i, aeccBoundaryHide, True, 1#
i = i + 1
Next obj
End Function
HTH,
Have a good weekend