May I suggest that you get eight-bit palette emulation working on PearPC? I know that SDL has a method of emulating an 8-bit palette; maybe you could get some hints there. One thing that uses it in Mac OS X is the "set Display to Grayscale" in Universal Access.
One way of emulating a 256 color palette is to create an array with 256 color objects. The color object would have an integer value of each of the main colors (red, green, blue), which could be changed as the emulator needs.