Hi WtFudgE,
Without having thought about this too deeply, it sounds like a referential integrity problem. First up, I'd check the links between tables. It may be that you have a cascade delete that isn't required.
Mirriad posts on the subject on this forum. Use "Referential Integrity" in a...