Currently, if you change the raws (and d_init settings like track graphics) it's annoying to revert changes, update to new versions or change mods, maintain mods when raws change in new DF versions, etc.
Similar to how it works with graphics currently (if textfiles in raw/graphics assign a graphic, use it, otherwise use default raws), I suggest the following:
Change file hierarchy in raws. One folder called "default" where the default raws are stored (like objects currently). Add folder(s) named after mods/graphic sets that contain "graphics" and "objects". Determine via init.txt which the game should use, or even better, select in game before generating a world.
The game checks this folder first for a list of file names (the existing raw files, d_init.txt) and uses the objects/creatures/etc that are in these files, including new ones. If it can't find a file or parts of a file, it uses the defaults in the raw folder.
That way you have a manageable folder with raw files which only include the objects and graphics that you changed. In a lot of cases that's much more manageable, easier to debug/revert, and more modular. You don't have to overwrite anything to make changes. Everything is non-destructible.
A graphic pack or a mod would come with their own user/mod folder but leave the originals intact, including other d_init.txt settings that don't change graphics. So you don't have to change your preferences everytime you update to a new version of a graphic pack or mod.
tl;dr:
Leave default raws intact, use textfiles that only contain the changes