One thing that I wondered about with the delete feature - if I delete a spell, say, CLW, what about magic items that are created using that spell? Logically, they should all disappear too. So, Potions and Wands of CLW would have to be "removed" from the files too.
Sounds - complex.
Or what about feat chains - remove cleave, and great cleave should automatically be removed too.
Should a user be warned if removing a feat invalidates the requirements of a prestige class? eg, if I remove Cleave, any prestige class that required the character to have Cleave or Great Cleave could not be used - so should they be deleted too?
This leads to a lot of work.
As for the idea of adding a spell to multiple campaigns, one method I would consider is: create a new camapign based off an existing one. When creating the new one the user would be asked if they are to be kept in sync. If they are and a spell is added/deleted from one campaign the user could then be asked if that should be done in the other. That way it doesn't happen with every addition, but can happen if you request it.
Data redundancy is bad - if you change the data in one place you have to consider the effect in others (just like the delete example above). I hate stored calculations - I've seen too many problems with them - ie, someone changes the original value but doesn't propogate that to the stored value.
Duncan