Tony,

Just for the sake of completeness, while your AutoOpen() macros may be updating all of the fields you care about, it is not a comprehensive update. You might consider:

Sub AutoOpen()
  UpdateAllFields
  CheckBoxesByTag
lbl_Exit:
  Exit Sub
End Sub

Sub UpdateAllFields()
Dim oRngStory As Word.Range
Dim lngJunk As Long
Dim oShp As Shape, oCanShp As Shape
Dim oToc As TableOfContents, oTOA As TableOfAuthorities, oTOF As TableOfFigures
lngJunk = ActiveDocument.Sections(1).Headers(1).Range.StoryType
  For Each oRngStory In ActiveDocument.StoryRanges
    'Iterate through all linked stories
    Do
      On Error Resume Next
      oRngStory.Fields.Update
      Select Case oRngStory.StoryType
        Case 6, 7, 8, 9, 10, 11
          If oRngStory.ShapeRange.Count > 0 Then
            For Each oShp In oRngStory.ShapeRange
              If oShp.TextFrame.HasText Then
                 oShp.TextFrame.TextRange.Fields.Update
              End If
              If oShp.Type = msoCanvas Then
                For Each oCanShp In oShp.CanvasItems
                  If oCanShp.TextFrame.HasText Then
                    oCanShp.TextFrame.TextRange.Fields.Update
                  End If
                Next oCanShp
              End If
            Next
          End If
        Case Else
          'Do Nothing
      End Select
      On Error GoTo 0
      'Get next linked story (if any)
      Set oRngStory = oRngStory.NextStoryRange
    Loop Until oRngStory Is Nothing
  Next oRngStory
  'Special Cases
  For Each oToc In ActiveDocument.TablesOfContents
    oToc.Update
  Next oToc
  For Each oTOA In ActiveDocument.TablesOfAuthorities
    oTOA.Update
  Next
  For Each oTOF In ActiveDocument.TablesOfFigures
    oTOF.Update
  Next
lbl_Exit:
  Exit Sub
End Sub
Sub CheckBoxesByTag()
Dim lngProp As Long
Dim arrProperties() As String
Dim varValue As Variant
Dim oCC As ContentControl
  'Define the names of the custom properties to check
  arrProperties = Split("DCR Type|Change Classification", "|")
  'Loop through each property name in the array
  For lngProp = 0 To UBound(arrProperties)
    'Get the value of the custom property
    varValue = ActiveDocument.CustomDocumentProperties(arrProperties(lngProp)).Value
    'If the value is not empty, find the corresponding content control by tag and check it
    If Not IsEmpty(varValue) Then
      'Get the specific content control associated with that value e.g., tag = value
      Set oCC = ActiveDocument.SelectContentControlsByTag(varValue).Item(1)
      With oCC
        .LockContents = False
        .Checked = True
        .LockContents = True
      End With
    End If
  Next lngProp
lbl_Exit:
  Exit Sub
End Sub