Try this instead - watermarks inserted by Word's Watermark function won't get found with your code. Your oSh.Type = 13 wouldn't return a standard watermark on my machine. Nor would it match on oSh.Name.
Code:
Sub FixHeaderFooter()
Dim oD As Document, oS As Section, oHF As HeaderFooter, oSh As Shape, tmp As String, r As Range, i As Integer
Set oD = ActiveDocument
Debug.Print "FIX HEADER/FOOTER--------------------------------"
For Each oS In oD.Sections
Debug.Print "Section"
For Each oHF In oS.Headers
Debug.Print "Header/footer - " & oHF.Shapes.Count & " shape(s)"
For Each oSh In oHF.Shapes
Debug.Print "Shape Text - " & oSh.TextEffect.Text
Debug.Print "Shape Type - " & oSh.Type
If oSh.Type = msoTextEffect Then 'msoTextEffect = 15
Debug.Print "Do you reach here? Really!?"
If oSh.TextEffect.Text = "DRAFT" Then
oSh.Delete
i = i + 1
End If
End If
Next oSh
Next oHF
Next oS
Debug.Print i
End Sub
If that doesn't work, perhaps you need to post a sample document that shows what your watermarks actually contain.