Colour files do work, but when you save a colour file, it records the exact colour assignments then in use. The problem arises when this file is applied to another design in anticipation of the colours changing to match the original - but they don't.
Why this happens is actually very simple, but subtle enough not to be obvious. It's that phrase 'exact colour assignments'. This doesn't just include the type of structure, pads, shapes, text, etc., but also the layers. The names of the structures are built-in, so they're bound to match, but the same is not true of the layer names. Even a single character difference is enough for the matching process to fail. It's not a bug, but a real, though subtle difference between the files.
One strategy which helps to encourage consistent naming, and hence avoid this difficulty, is to create your own customised technology files. This can most easily be done by starting with one of the supplied examples and modifying it, but it will ensure that the layer names are consistent if a custom file is specified when starting each new design.