I think that there are not enough characters (such as bold or underlined characters) in pure terminal, but in X-Window terminal the case is a little different because you have Unicode supprot for most of fonts.
Bold in terminal - as far as I know - just changes the color so that it seems to be Bold.
If your colors are not set properly then it's a problem with your program because I have no problem with them (try init_pair, first).
I don't know if I could answer you question