Currently using 2014 sp2.0, but I've had this issue for several years and versions. I've been looking for the answer for a long time, but no luck yet.
Whenever I add a new display state to an assembly that has part-level colors applied, everything looks fine at first, but as soon as I switch to a previous existing display state I find that Solidworks has applied an assembly level color so that all components are one uniform color now. If I switch back to the new display state, it also has now taken on the assembly level color, and all the other display states have done the same thing. This requires me to activate all display states and remove the assembly level color applied so that I can get back to the part level colors again. I find myself cringing every time I need to add a new display state because I know what useless effort I have to go to to restore everything.
Is there some setting I have wrong? I can't find anything that controls this behaviour.