Just a WAG, but are you using a different color map then the default
color map in your images? I suspect that Grub is not changing the
color map to match your image. But as I said, this is just a guess.
Well, xpm files always specify their own colormap. If those colors
need to be selected from some "default" set, I'd love to know where
to find the description of that default :-).