Where 'fg' and 'bg' are arrays of strings. If the user hits '4', fg[3] and bg[3] would be used, so the user would get yellow-on-black, and so on. (If I'm understanding your goal properly.)
An> Final final... why doesn't the background on this line switch to blue? Ctrl-A
An> "4" should be blue background.
>> console.putmsg(" 3.\1h\14 White on Blue\1n");
Not sure. Try \x014 instead of \14 and see if it helps.