AddLabel supports a hue for the font - correct, but did you know that it will only use the first and last blocks of the hue when applying to a font in UO?
A hue consists of 32 'blocks' of separate colors in the RGB555 format.
When a gump displays a label, it takes the first block of color as the stroke (outline) and the last block of color as the fill, so if you use a hue that starts with a black block and ends with a red block, you'll get a red font with a black outline.
***
When you use AddHtml, wrap your HTML string with this HTML tag;
HTML:
<basefont color=#FF0000>Hello World
Don't use a </basefont> tag though, because it will make the rest of the text hidden (client issue)
Coloring a specific portion of text can be achieved by uing the <basefont> tag multiple times, each succesvive color will replace the last;
HTML:
<basefont color=#FF0000>Hello <basefont color=#00FF00>World
Note that we're using the #RRGGBB format in these examples, you can also define named colors, though the selection is limited;
HTML:
<basefont color=red>Hello <basefont color=green>World
This is why AddHtml doesn't support a color/hue argument - and you can't use UO hues in HTML.
On a side note, this is also the way in which you can format the properties in the mouse-hover list on items and mobiles.