This appears to work but I would need to see a big data set to be confident in it
Code:
Sub NoBreaksForTheWicked()
Dim aRng As Range, iLine1 As Integer, iLine2 As Integer
Set aRng = ActiveDocument.Range
With aRng.Find
.Text = "(\(<*) "
.Replacement.Text = "\1^l"
.Forward = True
.MatchWildcards = True
.Wrap = wdFindStop
Do While .Execute
iLine1 = aRng.Information(wdFirstCharacterLineNumber)
aRng.Collapse Direction:=wdCollapseEnd
iLine2 = aRng.Words(1).Information(wdFirstCharacterLineNumber)
If iLine2 <> iLine1 Then
aRng.MoveStart Unit:=wdCharacter, Count:=-1
aRng.Text = Chr(160)
End If
aRng.Collapse Direction:=wdCollapseEnd
Loop
End With
End Sub