We host our own forum on a server that houses multiple websites. The code is customized heavily from a forum that was written originally (2001) by a guy named ACMLM. We've diverged pretty far from the original code at this point, and you would need root level access to a server in order to get this setup to work anywhere else due to the multiple cron jobs, xml feeds, and custom stuff going on behind the scenes.
Your best bet is to find hosting with a message board solution that they support. Many php based hosting companies will throw in phpBB or something like it for free along with their package.
Since we don't use these services, I can't really suggest one, but 1and1.com seems pretty cheap and a friend said some good things about them. I think they offer phpBB but you'd need to check their site.
What if you took the data value and put it into hex and use that for the color. In the unlikely event the data value will be higher than FFFFFF (16,777,215 base 10) you could always use (all values hex):