How can I get rid of these artifacts in blender internal render?
Transparent objects and solid objects are rendered in two different steps during the render pipeline.

If you compare the render pass of solid color with the z-transparent one, you'll notice that the alpha channels do not match perfectly.

Combining the solid and transparent layers, you'll get some differences along the anti-aliased edges.

To solve this issue without increasing the render size, you can toggle transparency in the solid material (the character).

Doing so, Blender Internal will render the whole scene in a single pass.

Here you can find a similar example:

How can I make transparency act as expected with the internal renderer?