I don't know what is the problem behind the colors.
It could be the color depth, set in the screen section using a line like this:
And for individual resolutions in the Display subsections using:
Not sure why puppy linux xorg.conf had a depth of only 16 bits. Having less bits uses less graphics memory, which can sometimes allow the card to support high resolution screens (and other features). If you can get high enough resolution with 24 bit color, then it is a better option, though the change would primarily affect the graduation of color in images, rather than have gross impact on the color appearance.
Another possibility is that it is caused by one of the Intel driver options. These can be found in the
xorg documentation. I don't understand these options well enough to advise you; the only two that I think would affect color are the ColorKey one and the Dac6Bit one.
It could also just be the monitor settings (as you have already tried). These aren't easy to get right; sometimes people make use of a
modeline file (especially when the automatic recognition of the monitor parameters does not work correctly).