Странно, я слышал, что color reduction GIF-кодек делает вполне культурно.
Если никаких ошибок нет (а где код?), то остается вариант "против лома нет приема" — создать битмап на 8bpp, установить свою палитру и сделать ему LockBits, а потом скопировать туда точки из нарисованного битмапа, выбирая нужные цвета.
Подробнее об этом я расскажу в 3-ей части (а все вторую никак не успеваю закончить :( )