Paul,
Well yes, but as we are also calling the function for custom properties then I suppose it could be (again like yours, not tested):

Private Function ReadProp(strName As String) As Variant
  On Error Resume Next
  Set ReadProp = ActiveDocument.BuiltInDocumentProperties(strName)
  If ReadProp = Empty Then
    Set ReadProp = ActiveDocument.CustomDocumentProperties(strName)
  End If
lbl_Exit:
  Exit Function
End Function