You should be using styles rather than local formatting. Try this code
Code:
Sub Underline_Headings()
Dim aPar As Paragraph
For Each aPar In ActiveDocument.Paragraphs
If Len(aPar.Range.Text) < 50 Then
aPar.Range.Style = "Heading 1"
End If
Next aPar
ActiveDocument.Styles("Heading 1").Font.Underline = wdUnderlineSingle
End Sub