Not possible to change a weapon's color like that.
The reason skis can change color is because they are apart of the player model, and only show when using skis. The ski node on the player is able to change colors, and hide or unhide. thats why when you unhide all player's nodes, you can see ski's.
Your best bet is to make a script that makes a weapon image datablock for ALL the paint colors, and mount the specific one according to paint color. Its a terrible idea anyway.