The files in MenuText.CAT are all .STR files (except for one TXT file), so I assume it is STR files you have been editing.
STR files can be easily edited using a Hex Editor, but you have to understand the structure of the file and it helps be able to add and subtract in hexadecimal.
If you get a number even slightly wrong the edited file won't work, and the sim will CTD or freeze, as you have experienced.
Using your hex editor, look at the start of a STR file. A simple one is ActivityLevel.STR, which only has four entries:
1A00 0000 0400 0000 5458 545F....
The 0400 is the number of entries in the file.
The 1A00 (26 in ordinary decimal numbers) is the length in bytes of the text descriptions of the four entries, including a zero after each one, which you see at the end of the file (Random.Light.Normal.Heavy.). So if you change the length of any of the text descriptions (changing "Heavy" to "Massive", for example, you have to change this number: in this example from 1A (26 decimal) to 1C (28).
5458 545F is the start of the name of the first entry which the sim uses (TXT_MENU_ACTIVITY_LEVEL, in this example): 54 is T, 58 is X, 54 is T etc.