This utility checks if you have unused or missing art definitions in your mod.
Python code: platyping
This utility is presented as a separate standalone (small) mod: ArtDefChecker. As it was rewritten by platyping, it is now included in his Platy UI (9 September 2014).
Install it as any other mod in the folder C:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods or whatever works for you.
Important: you will have to edit with a text editor the python file ArtDefChecker.py located in the Assets/Python/Screens folder. In it, near the top, you will find further instructions how to include your mod's files in the review.
Then load BtS, load ArtDefChecker, start a game on a tiny map (it really doesn't matter) or simply double click on the ArtDefChecker.CivBeyondSwordSave file included!
When the game is loaded and you are on the main screen of the game, press the 'Ctrl' and the 'F9' keys together to start the checking.
A special screen will appear with a dropdown menu containing 2 options, UNUSED ART_DEF or MISSING ART_DEF. That's it.
Fortunately, you should see nothing in the 'MISSING ART_DEF' section, otherwise your game should crash on you sooner or later.
The 'UNUSED ART_DEF' tells you that you could clean up a bit the ART_DEF file if you want. It is not mandatory.
CAUTION: the ART_DEF_UNIT_SIEGE_TOWER is an exception as it is the only ART_DEF_UNIT called by the dll, not by the xml. It can appear wrongly in the list of 'UNUSED ART_DEF' but do not delete it or crash guaranteed!
The missing art is not covered by this utility. For that, use the tool CivChecker by davidlallen.
Why did I do it like that?: because to check the code, I deleted an ART_DEF in my own mod and the game crashed leaving me without access to this screen!
Ideally, this should be an EXE running outside the game but as such it can be very useful.