I used to do this kind of thing a lot before I got fed up of painting things twice (once in greyscale then again in colour) but there are stil ways to do it. The key is getting the values right. After you've applied colours it's very easy to get frustrated by the way that everything looks muddy but the drab darker midtones are not a result of the colour you're applying, it's because the initial values are wrong. So it's really important that the first sketch is not too contrasty and that it also has some smooth transitions. I used to suffer terribly with this until someone helpfully pointed it out (in fact that someone was markdraws, who has also migrated to this site. Yay!)
Anyhoo I've had a go at that previous post and combined everything into a single image to try and explain my way of doing it. Not necessarily the best way and not necessarily reccomended but all information is good, I suppose.
The first image (TopLeft) is the original greyscale but with the values adjusted to boost the midtones. I used Levels but Curves do the job just as well.
The TopRight image is the next layer set to Color mode and painted in with some generic , unimaginative skin tones... (and did I do blue hair?!)
The BottomLeft image is the next layer and is set to SoftLight mode. This just boosts the highlights where necessary and darkens and saturates some of the drab shadow areas.
The BottomRight is all those layers flattened. I then did an Auto Colour Balance (Control-Shift-B on my CS2) to get rid of the horrible colour cast that I always seem to leave on my skin tones, and I then darkened the background and put a bit of a rim-light effect to give a sense of depth to the surrounding space.