While I understand and support Timbo's viewpoint of "if it works, don't touch it", he's not quite correct about this. There is no chance of a memory leak because the main engine acts as a memory manager. Every time an asset needs to be loaded it is done via handles and syscalls. It isn't difficult to check if you've already loaded the data or if you need to flush data to free up room. You can use either resource paths or checksums of data files to track what's loaded.
Quake 3, by the way, did not load all models for every map and the concern there was probably memory limitations (the game was made almost a decade ago!). If you notice, many maps only had as few as two or three guns and you never loaded all player models. Caching did not make a lot of sense.
For Tremulous, ALL models are always reloaded. Not caching this data causes a needless 15-30 second delay (as noted above). Lets at least be clear here, it's not that there isn't a tangible benefit, it's that the lot of us devs are too lazy to code this.
