Thanks for putting a lightbulb over my head, steve!
Using your hint about Instances and Occurrences, I found this blog page:
and on project A pushed all occurrence properties to instance properties by doing,
1. Select the .DSN in the project tree (for project A)
2. Accessories->Transfer Occ. Prop. to Instance->Push Occ. Prop. into Instance
and in the dialog box chose the first option, "This option will push the occurrence level values of the part reference and PCB footprint properties as instance level values." and checkboxed the "Use this to remove all the Occurrence properties from the design and change the preferred mode of your design to instances"
This generated a report of all components changed, and though it noted that each affected component's reference designator was being changed to ?, it correctly preserved the reference designation on each schematic page. (I haven't yet checked to see if other properties were preserved in this conversion.)
I was then able to select the pages from project A, copy, and paste them into to project B and the reference designators were preserved on copy! :-)
I'm not sure why some components were "occurrences", but perhaps this could have happened when editing the schematic with copy paste commands, pasting from other schematics outside of project B, or properties were edited (such as our custom "Populate" property that is either blank/invisible or "DNP"/visible), or perhaps the components added to the schematic from CIS were somehow altered. Now I know that a "flat" design, while it is being created and edited, can somehow spontaneously begin to contain components with modes that are otherwise normally expected for a heirarchical design.