I've seen a similar error happening before. Surely the size of the files for Link and Tetra's model are not the same. Most probably something points at the starting offset of each ARC file, so after the replacement the offset for the file after Link's points either to the middle of Link's or the middle of the next one. The program tries to read it, gets an error and hangs.
If they're all packed together in a single file, there's a chance you have a pointer table somewhere in the same file, usually before the ARC files. You'll have to update that table accordingly. If not, maybe there's a file that specifies file sizes for each file.