There is no need to set the View.Type or use SeekView for what you're doing. Try:
Code:
Dim fg As Field
With WordDoc
.Sections(2).Headers(wdHeaderFooterPrimary).LinkToPrevious = False
With .Sections(1).Headers(wdHeaderFooterPrimary).Range
For Each fg In .Sections(1).Headers(wdHeaderFooterPrimary).Range.Fields
If (InStr(1, fg.Code.text, "{ORDERNR}") > 0) Then
fg.Code.Text = Replace(fg.Code.Text, "{ORDERNR}", "{FONR}")
fg.Update
End If
Next fg
End With