When naming things... if a unique name isn't used for both the model and the texture, the usual result of such an error is usually an invisible model. I name every model part Argh_something_something else, such as "Argh_KewlSpaceShip_Wing". And every texture follows the same naming conventions, i.e., "Argh_KewlSpaceShip_TEX". Since I use my handle to start every name, the chances of it ever conflicting with anybody else's work is close to zero.
But your model is visible some of the time, not all of the time, which leads me to believe that you're having problems with either shiparch.ini or the textures, and possibly with the model file itself.
One way to figure all of this out is to make sure that in shiparch.ini, the line in your ship's INI that reads LODranges = is LODranges = 0, 2500 (this being the longest distance the engine will draw a spawning ship at, by default).
You don't want LODranges = 0, 100, 500, 1000, 2000, for example, because your model doesn't have multiple LODs (one of the areas DA over-engineered their game content was that almost every model has 4 or more distinct meshes, which are displayed at the specified distances... no wonder they made so few spacecraft for such a huge game world!).
There are errors in your model's geometry that can also cause draw errors, but almost all of them will also cause the CMP exporter to crash upon export, so that's not very common to see... and most of them cause the game to crash.
And btw... if the TGA's "backwards"... it'll still draw just fine... the texture will be wrong, but your ship will NOT be invisible. Just keep that in mind