I used to mod CoH back in live and have an idea of how they accomplished this and why it only works on humanoids:
How does it work?
Open and view the content of CoH client files using the pigg viewer, extracting the contents of the bin.pigg file or whichever one contained the costume parts (PARTSNAME) for player and NPC models. Once these files are modified and replaced into the right folder structure, the client will check the folder structure and replace any .pigg files which are represented in the folder structure. You can modify character costume pieces which are called by the client to the server.
Why are they limited to certain models?
There is a redundancy check for the length or size of the files when the game executes, which means any changes you make have to be the same number of characters as the original values. This restricts you to using the PARTSNAMEs that fall within a certain character length (IE: player models).
Why does it only work with humanoid characters?
Non-humanoid characters do not have the normal number of values as humanoid characters... which means you cannot replace a non-humanoid PART with another non-humanoid or humanoid PART without breaking the visual effects of the rest of the game. Here's the list of values for humanoid characters (same as those in our character costume slots):
Pants
Chest
Head
Gloves
Boots
Belt
Hair
Face
Eye Detail
Chest Detail
Shoulders
Back
Right Weapon
Neck
Right Upper Arm
Collar
Broach
Cape
Aura
Skirt
Top
Sleeves
Cranium
Jaw
Left Weapon
Two Handed Left Weapon
Two Handed Right Weapon
Tail