Thx Máté, não trouxe a solução, mas me ajudou na direção certa. Na verdade, e por ser complicado, foi uma análise simples do comportamento das seleções quando a tarefa foi executada manualmente. Sua solução assumiu que havia apenas um final de linha automático dentro de um parágrafo, mas havia parágrafos usando mais de duas linhas. Foi assim que resolvi isso.
Dim aShape As Shape
Dim aParagraph As Paragraph
On Error Resume Next
Application.ScreenUpdating = False
For Each aShape In ActiveDocument.Shapes
If aShape.Type = msoTextBox Then
For Each aParagraph In aShape.TextFrame.TextRange.Paragraphs
aParagraph.Range.Select
Selection.Collapse direction:=wdCollapseStart
Selection.HomeKey Unit:=wdLine
Selection.EndKey Unit:=wdLine
Do Until Asc(Selection.Text) = 13
Selection.InsertAfter vbCrLf
Selection.MoveDown wdLine, 1
Selection.EndKey Unit:=wdLine
Loop
Next
End If
Next aShape
Application.ScreenUpdating = True