Apart from that you do not need BEGIN(BITMAPS) for a CMD_TEXT, using COLOR_RGB before CMD_TEXT is exactly the way to do it.
And I just tried it, using BEGIN(BITMAPS) does not break it.
//EVE_cmd_dl(DL_BEGIN | EVE_BITMAPS);
EVE_cmd_dl(DL_COLOR_RGB | BLACK);
EVE_cmd_text(100,200,28,0,"Black");
EVE_cmd_dl(DL_COLOR_RGB | RED);
EVE_cmd_text(100,220,28,0,"Red");
EVE_cmd_dl(DL_COLOR_RGB | GREEN);
EVE_cmd_text(100,240,28,0,"Green");
//EVE_cmd_dl(DL_END);
With or without the BEGIN/END pair I get the same result, three lines of text in black, red and green.
Yes, this also works with custom UTF-8 fonts from FLASH, I just tried that as well.