Thank you for your comments!
* Phantoms: The second Patrick O'Brien (in Rec#7) never had a spouse or child. I just added him to his parents for completeness, with practically no data. That means Marriage Rec#7 should have belonged to another couple, but since there is no data in it (except his name) I don't know where it came from. The phantom 'Unknown' person in Rec#18 can't be directly displayed, but I found I could get to him 'sideways' by clicking on a legitimate person, changing to Family View, then clicking on the '[Unknown]' person. He had no name, but did have a birth and death fact identical to Anna's true spouse Laurence (1890-1985 Hamden). And he has a child with no name but the same identical birth and death facts (1890-1985 Hamden). Clicking on the child just highlights the [Unknown] person in the left list. On a right-click, deletion and unlinking options are presented, but they don't work. (This is all after the new 7.5.3 db cleanup.) Thankfully, the Drag & Drop version of this db cleared him out completely, but it would be nice if the database cleanup tools could also do that, as well as remove any marriage records with only one spouse (unless intentionally added? with an unknown spouse? not my problem! for RM to figure out!).
* Missing MRIN's: should be harmless, similar to deleting records, there would be missing record numbers. In my picture above, Rec#14 and #15 are missing, no issue. The Drag & Drop produces a db with them all renumbered from one, so if the missing ones bother you, a complete Drag & Drop should clean all of that up. One thing I forgot to mention about Drag & Drop is that I was concerned whether the new db would be still connected to Ancestry.com. (I'd completely forgotten about Jerry's comments about successfully dragging over one person!) I can confirm the completely new db was still fully connected, every person to its Ancestry counterpart, *and* the hints were still 'Confirmed', no repeat of the hints.
* New marriage routine: that sounds like a good and safe way to do it, avoiding the potential issues. Hopefully RM will figure it all out, and it won't be needed in the future. Integrating partially incompatible systems is always hard.
* Sanity checks: (just a suggestion for the developers) it's been awhile since I was programming complex systems, with multiple programmers and subsystems, but one thing I used to like to do was add sanity check mechanisms, either fully doubly linked lists where I could completely rebuild systems on either side, no matter where the corruption occurred; or to add simple sanity check flags or ID's, that allowed early detection of issues before further corruption or errors occurred. It could be as simple as adding a bitfield to the person record, where you could reserve a single bit for each critical item, like 'is there a marriage fact', 'a birth fact', 'a death fact', etc. A db or record integrity check could easily and at any time determine if something is missing, wrongly linked, corrupted. It could be a little more advanced by adding an additional marriage fact bit, 2 of them so that it can count 0, 1, 2, or '3 or more' marriage facts. It requires a little more error checking logic, but pays off in cleaner records and systems, easier debugging, until you achieve a well-tested and stable system.