Just thinking out loud...
Step 1 to safe-keep important tiddlers: add a little bit of custom code to $/core/ui/ImportListing
(Well, I am pondering over what kind of trouble I might get myself into...)
If a tiddler being imported already exists and the already existing one has a certain tag, or a certain field, or belongs in a particular list of tiddlers somewhere, then:
Disable the select checkbox, and make it unchecked. Display with the tiddler title a message along the lines of "this is a critical tiddler, and can only be replaced <blah blah blah process>".
Something like that.
Step 2: upon press of the delete button on one of these important tiddlers, popup a message along the lines of "this is a critical tiddler, and can only be deleted <blah blah blah process>".
Step 3: upon creation of a new tiddler, if the name is edited and set to the same name as some already existing tiddler that is one of these important tiddlers, then disable the save button and show somewhere a message along the lines of "this tiddler already exists and is a critical tiddler, and can only be replaced <blah blah blah process>".
And if I'm thinking about all of this, it is to give time for this sponge of mine to conceive "TW integrity" constraints, like database constraints, particularly in mind: preventing the deletion of a parent tiddler when there are child tiddler dependencies on that parent tiddler.
Something like that. The wheels are spinning ...