This appears to happen because the tech room uses position in the ships table to determine whether a given ship is displayed or not. What I mean is that the tech room does not say to itself "Okay, I'll display the GTF Ulysses, the GTF Hercules, the GTF Hercules Mark II, the..." but instead says to itself "Okay, I'll display the first ship, the second ship, the third ship, the..."
The problems start when one adds things to the ships table. Say ship number 27 is not supposed to be shown in the ships table, but 26 and 28 are. If one inserts a ship into, say, slot 16, then every ship after it will be bumped down a slot. This will cause the ship that was originally number 26 to become ship number 27, and 27 to become 28 and 28 to become 29. This means that the ship that was number 26 is no longer displayed because it is now in the 27th slot, while the ship that was number 27 now is displayed, even though we don't want it to be, because it is slot 28.
In the source code forum I suggested that this be changed so that the decision to display a ship be based on name rather than position, but I got no response. It oughtn't to have been hard to do, since the tech-add-ship sexp already uses a name based system rather than a position based one, but no one wanted to take the time to do the copying and editing of the code, I guess.