Just a few thoughts from an interested observer... feel free to ignore them if you like. I believe part of the reason that the cream looks more visible is that it has the highest contrast between the x glyph and the button background. This is not so much a color issue as a technique issue, in my opinion.
It's difficult to tell for sure because of the artifacts between screen captures and jpg transformation, but I'm guessing the development went something like this:
1. Vector object rectangle with rounded corners, stroke black 1 pixel, fill solid color, antialias enabled.
2. Convert to raster, then use a bevel filter, round profile, with white light color and angle 315 degrees to give the impression of depth. (This step may have come later).
3. New layer, vector object or text tool, X-shape, stroke white 1 pixel, fill black, antialias enabled.
4. Convert X-layer to raster, merge layers, save as bitmap.
The process may have been slightly different, but I think I'm close.
At any rate, that antialiasing is why the colored versions are more fuzzy and indistinct, and the white stroke around the X is adding to the fuzz-factor. Below is an edited version of your screenshot where I tried to show what would happen if you eliminated the antialiasing and white stroke effects. I think it's quite a bit cleaner, and is not any more difficult to do. Just my opinion.
PS: The button colors may appear to be slightly different than the original. That's a result of trying to eliminate the antialias and white effects and having to make an educated guess at the original fill color. They also may appear a bit flatter, and thats because I used a gradient fill instead of a bevel filter to get the depth, since I didn't want to play around with filters to get the point across.
[Message Edited]