Closing the loop, I worked around the issue. I set up a VM running the same version of cyrus-imapd, and used imapsync to mirror over the mailboxes. Then used the spool and lib to replace the one that had issues. Maybe hokey but it works, all the mail is there, the flags are as expected. Thanks for the responses.