I think I found a solution to our broken project, but won`t claim a full understanding of why it`s a problem.
The error message comes from one of the checks in the setup of an instance of class Shift that happens at line 134895 of ccpnmodel/ccpncore/api/ccp/nmr/Nmr.py. By inserting a line to tell me what the _ID of the Shift that was problematic was, I could find it in the ccpnv3/ccp/nmr/Nmr/<longname>.xml file and it was an NMR.Shift that indeed had no NMR.Resonance.shifts that referenced it. Deleting the rogue NMR.Shift seems to restore the project to a workable state.
If Vicky`s right about this coming from an undo (although we don`t think so in this case) then the code is perhaps reversing the creating of the resonance, but not cleaning up the shift list?