When deleting items in a DOM collection, it is always better to use a For Each loop:
For Each Rng In ActiveDocument.StoryRanges For Each Fld In Rng.Fields Fld.Delete Next Fld Next Rng
Or a backwards countdown:
For currentField = myStory.Fields.Count To 1 Step -1 myStory.Fields(currentField).Delete Next currentField
It seems sometimes the For Each approach misses, skips, or gets confused by items in the list.