Your picture is somewhat low-res, but I'll wager a guess this black border is where you either have partial alpha values in your texture (i.e. 0 < alpha < 1 ) OR where the GPU is generating partial alpha values due to texture filtering during sampling.

If you don't want the latter, disable linear interpolation by setting the MIN and MAG filters to NEAREST/NEAREST_MIPMAP_NEAREST (or just NEAREST for the latter if you don't have MIPmaps in your texture).

Let's see your blend function and what color and alpha values (including the color values for translucent/transparent texels) are being stored in your texture across a transition from "outside" the feature to "inside". Also, are you using a compressed texture internal format? And (since it sounds like you're doing chroma-key), are you modifying the texture to make the key values transparent? If so, you might be missing the texels with partial alpha. Premultiplied alpha is probably what you want, but let's see your data first.