I thought TextLib only has homescreen functions...
Also, changing the TextColor() won't get rid of the white border.
Sprites by
grosged might be what you are looking for. It would allow you to display text with arbitrary foreground and background colors without having to learn ICE, asm or C, but it won't sing kumbaya with the graphscreen, so using it would require changing up the display part of your game entirely to all use the sprite functions. Doing so would have the added benefit of allowing you to use the entire screen rather than just the graphing area, which could be nice for a minesweeper game. If you chose to use Sprites, you will have to be careful to set it up before and after using the graphic commands to prevent ending up with some unwanted junk on the screen and to prevent the player from exiting while still being stuck in 8bpp mode.
Here is an example of how to use the libs. I would recommend shortening the names of the programs if you intend on using them extensively, but for the sake of simplicity, I didn't change them.
Code: Asm(prgmSETTINGS
255:Asm(prgmCLSCREEN
{5,5,224,7:Asm(prgmPRINT
"TEST:Asm(prgmPRINT
Pause
Asm(prgmBACKHOME
Asm(prgmSETTINGS initializes stuff and switches to 8bpp mode.
255:Asm(prgmCLSCREEN sets the background to white (255 in 256 color mode).
{5,5,224,7:Asm(prgmPRINT is the settings for the PRINT command (coordinates 5,5, red foreground, green background).
"TEST:Asm(prgmPRINT prints the string "TEST" using the settings defined above.
Pause I don't need to explain what pause does...
Asm(prgmBACKHOME redraws the status bar, returns to 16bpp, and probably does some other cleaning up.