Generally speaking, the only value you get from IDREF attributes is error
messages from your parser if the referenced ID doesn't exist. Any special
treatment, like linking or cross-referencing behavior, in either the
authoring or publishing environments, is due to specific code in those
tools, and that code is just matching up strings in the source and target,
so it doesn't usually care about IDREF vs. CDATA. The cross-reference
elements in DITA, for instance, use CDATA attributes and support cross-topic
references. However, Arbortext has significant custom code to support
these.
My guess is that changing your IDREF attributes to CDATA probably will
require few, if any, modifications to your publishing tools. As for the
behavior within Editor, such as displaying generated text derived from the
cross-reference target, unless you have some custom code in place for that
now, you probably aren't getting it, anyway.
It would probably be worth doing a test with the attributes as CDATA and see
what functionality breaks, if any. You can always come back to the group
with the specifics for help.
-Brandon 🙂