Plus, having headers will give the emulator something to fall back on. If info for a particular ROM in the database is missing or incorrect, it would have the header to rely on. But if the ROM was headerless, the ROM wouldn't run.
If a rom didn't run because of an entry error or because it was too new, it would probably get noticed and fixed fairly quickly. Such a fix wouldn't require any action on the part of the user other than staying up to date with the emulator. Header errors are less practical for the typical user to fix.
As for what should be included in the database, I think that the emulator db should stick only to licensed material which was commercially available. Third party dbs could extend this by providing a db with betas, test carts, and pirates. Hacks/translations are infinitely creatable and are modifications of already databased material. Is there a patch format so that the patch stays separate of the rom? That would solve some things... like, you want to play a translation, you name the patch the same as the other roms, put it in the patch directory, and turn on an option, and nestopia detects it and soft-patches the original rom(s)? Nobody actually needs the thousand separate mario hacks just because GoodTools collects them. I think the soft-patch functionality would be sufficient for actual users, even if it means manually renaming and moving some things to get it working (as described in patch readme).