The compass does have texture files, and they and the default "clickety-clack" sounds are in the data.ja file in UTC, if I remember correctly, along with lots more of the internal textures (in fact, I likely could have made myself a custom look-and-feel for the Trainz user interface if I had wanted to!

). So no, it is not hard-coded in to the game.

I have a set of two programs: one for extracting .ja archives, and one for making them. I got them off of the Internet a while back, and do not remember where I got them from (though it was some foreign-language site, if I remember correctly). They work just fine with UTC's .ja files, but it appears that the .ja format changed with TRS2004, for the programs did not really work on the .ja file for PaintShed content (if I remember correctly

) that is in my TRS2004 installation. I do not think that I tried it on TRS2004's data.ja file, though. I will transfer the two programs for .ja files to this current computer from my "former" Trainz computer sometime soon anyway, so I can try them on TRS2004's data.ja file and see if it works. I do not have TRS2006, so I would have no clue if they would work with its .ja files.
The .ja ("Jet Archive") files in Trainz installations were not intended to be modified, so doing so would be totally unsupported by Auran/N3V; do so at your own risk! The data.ja file contains internal configuration files for Trainz (at least in UTC, that is) as well as textures! Make sure that you keep a backup of the original .ja file before making any changes!
By the way, very nice custom compass and spline circles, NS37.
Regards.