Что делать, если не хватает цветов из стандартной палитры?

В этом случае необходимо обратить внимание на процедуру рисования объекта на экране, т.е. на метод Draw. При отображении его можно заставить вывести вообще произвольный цвет.

Пример
Bkg:=(lo(GetColor(2)) and $F0) shr 4;   {получаем цвет для фона}
MyColor:=Bkg*16+ColorAttr[1];           {назначаем свой цвет для отображения символов (палитра - не используется)}
Color:=MyColor;
MoveChar(B[CurCol],' ',Color,ColWidth); {переносим изображение в буфер (фон)}
MoveStr(B[CurCol+1],Text,Color);        {переносим текст}
WriteLine(0, I, Size.X, 1, B);          {выводим буфер}