OK, the original question owner does not seem to be interested in this answer but I decided to write it anyway for the benefit of others who may be in the same situation. The important point here is to remove "white" from the picture, in real and metaphoric sense.
Assuming you have a drawn image in thick lines similar to (and much better than) my example. It is drawn on white with a thick brush. The top left part is drawn with zero hardness and the bottom right is full hardness of the brush on white background, proceed as follows:
- Switch to the channels palette, Ctrl-click on the RGB channel to load the luminance information, then switch back to the layers
- The original image layer still selected, press Shift-Ctrl-I to invert the selection, you should see the crawling ants around your drawn lines
- Press Ctrl-J to create a new layer by copy, you should now have only the black drawing with edges gradually going to transparent
- Turn off the original layer, add a new layer below the new drawing layer and fill it with white, this will simulate the white background
- Add a new blank layer above the white layer and below the line drawing layer, this will be your actual painting layer. See the layer stack screen capture
- Target the painting layer, pick up the color you want and paint under the line drawing, you don't need to be too careful since the line drawing layer above will cover it.
This should give you black lines with filled color areas with no white halo separating the thick line from the colored area since you will either see the color layer below or the black line above. Where it is feathered to transparent the color below will show and everything will be clean transition.
See the additional images below to get a better idea. Zoom in on the "final" image with thick black lines and filled areas and you will see that it will get fuzzier but not produce the halos you are trying to get rid of.