It seems to be truncating the text at 94 or 95 characters in my testing. I have no idea on how to entice GetCrossReferenceItems to return longer strings.
Code:
Dim arr() As String, s As Variant
arr = ActiveDocument.GetCrossReferenceItems(wdRefTypeHeading)
For Each s In arr
Debug.Print s, Len(s)
Next
I can see how this could be a problem but I would have to say that your headings are too long if you can't identify the right one within 95 characters. You could always loop through the paragraphs to populate the array instead of doing it the easy way.