А какая необходимость в использований IIdentifyObj.Name?
Вот пример кода, к-ый просматривает все слои и значения всех полей под точкой, к точке применяется буфер, тогда нет необходимости в полигоне...
Sub VBIdentify(mMap As IMap, pp As IPoint)
Dim pIdentify As IIdentify
Dim pIDArray As IArray
Dim pLayer As ILayer
Dim pFeatIdObj As IFeatureIdentifyObj
Dim pIdObj As IIdentifyObj
Dim pRowObj As IRowIdentifyObject
Dim pFeature As IFeature
Dim i As Long, l As Long, nl As Long
Dim pGeo As IGeometry
Dim pTOPO As ITopologicalOperator
Set pTOPO = pp
Set pGeo = pTOPO.Buffer(10)
For nl = 0 To mMap.LayerCount - 1
Set pLayer = mMap.Layer(nl)
If pLayer Is Nothing Then Exit Sub
Set pIdentify = pLayer
Set pIDArray = pIdentify.Identify(pGeo)
If Not pIDArray Is Nothing Then
For l = 0 To pIDArray.Count - 1
Set pFeatIdObj = pIDArray.Element(l)
Set pIdObj = pFeatIdObj
Debug.Print "LAyer Name = " & pIdObj.Layer.Name
Set pRowObj = pFeatIdObj
Set pFeature = pRowObj.Row
For i = 0 To pFeature.Fields.FieldCount - 1
If pFeature.Fields.Field(i).Type < 7 Then
Debug.Print "Field Name = " & pFeature.Fields.Field(i).Name
Debug.Print " Value = " & pFeature.Value(i)
End If
Next
Next
End If
Next
End Sub