Yack!! Spoke too soon. It seems that Word 2010 can't deal with a For ... Each loop for processing the CanvassItems and GroupItems.

[VBA]Public Sub AddShapeRangesIn(rngWhere As Range, Optional colRet As Collection)
Dim oShpIn As Shape
Dim oShape As Shape
Dim i As Long
On Error Resume Next
For Each oShape In rngWhere.ShapeRange
If oShape.TextFrame.HasText Then
colRet.Add oShape.TextFrame.TextRange
ElseIf oShape.Type = msoCanvas Then
For i = 1 To oShape.CanvasItems.Count
'For Each oShpIn In oShape.CanvasItems
Set oShpIn = oShape.CanvasItems.Item(i) 'Added
If oShpIn.TextFrame.HasText Then
colRet.Add oShpIn.TextFrame.TextRange
End If
'Next oShpIn
Next i
ElseIf oShape.Type = msoGroup Then
For i = 1 To oShape.GroupItems.Count
'For Each oShpIn In oShape.GroupItems
Set oShpIn = oShape.GroupItems.Item(i) 'Added
If oShpIn.TextFrame.HasText Then
colRet.Add oShpIn.TextFrame.TextRange
End If
Next i
'Next oShpIn
End If
Next
On Error GoTo 0
End Sub
[/VBA]

I'll have to test and probably fix that in my published add-in :-(