Many graphics (SC .grp's included) don't hold the colour information in the files themselves, the colours are stored in palette files.
In other words, the image data is basically just "pixel 94: colour 23, pixel 95: colour 52", and to view it, the program looks at the 23:rd (or 22:nd if it begins counting from 0) colour in the palette. The image itself doesn't hold any such information.
That is what palettes do in a nutshell.
What I assume Voyager did (without looking at anything but the .png in the .zip) is that he changed what index the colours had. For example, he changed "pixel 23: colour 59" (blueish) into "pixel 23: colour 125" (red) (numbers just made up, they are not based on the SC palette at all).
You can achieve this effect in two ways. You can either change the colour in the palette, which is the easiest thing to do (meaning changing colour 59 from blueish to red). Since there are probably an awful lot of .grps that use that palette, you would get a nice looking psi-storm, but all other .grps get their colours messed up. The other way is to do like he (probably) did and just change that .grp so that it points to a different colour that is already there in the palette (changing the pixels from blue into red). The drawback of this method is that you can't add your own colours that weren't previously there, but since adding colours that way would mean that you had to change a LOT .grp's and you have 256 different colours to choose from, it's not a very big drawback
I don't know if what I wrote is understandable - I'm tired and since English isn't my native language, I sometimes find it a bit difficult to explain technical things in a way that makes them easy to understand.