A better approach is to rely on "alpha blending" or "edge blending"
Beyond the naming BS , this is a question of having patially transparent pixel around the edges of your sprites. If sprites a rendered in a 3D package, this is easily achieved by rendering on a transparent background, if not, it requires a seriously talented 2D artist .
Anyhow, you need to set each color channel of the destination pixel according to the following eq. (assuming a true color (no palette) mode):
d=(1-a)*d+a*s
where "a" is transparency (1.0 for opaque, 0.0 for transparent), "d" is the destination pixel and "s" is the source pixel.
With respect to performance; it's not a major hit if you only use it for edges, but you can't use HW blitting (and that's a real pain )...
(Note: For real-world use you don't wanna use the eq. above, instead you pre-multiply the transparency on the source image, and then invert it, giving the following equation: d=a*d+s)
/Niels