When I added the code to export "N.C.", I didn't include print-frame because it wasn't there in the old code that just exported plain text.  But now that these are being exported as harmony objects, I assume it does makes sense to include the print-frame.  I'll fix exportxml.cpp to do this and add to this branch.

As for relative-x, that normally gets appended only if non-zero.  That's true of "regular" chords as well as "N.C.".  I didn't change anything about that behavior (as far as I know), so I didn't test for it specifically.

Did we formerly support the offset tag? If I understand it correctly, this is a method of attaching a chordname to beat 3 when there is no note there, but I gather there are other ways of doing that too, and I know MuseScore has changed how it deals with that internally.  Since you made most of those changes, I assume you are more familiar with that than I.  So unless you think "offset" is very straightforward and can explain to me how it should work, I think you should probably tackle it.