You don't need to select controls or story ranges in order to process them. Selecting items in the footer will open the footer, hence the problem you had.
You need to use instead ranges.
You can process the document range instead
With ActiveDocument.Range
.LanguageID = wdGerman
.NoProofing = True
End With
Greg's code creates ranges for the headers and footers so you can process those ranges also
Select Case rngStory.StoryType Case 8, 9, 11
With rngStory
.LanguageID = wdGerman
.NoProofing = True
End With
For Each oCC In rngStory.ContentControls
oCC.LockContentControl = bState
Next oCC