I'm pretty certain this has to do with Texture addressing. If you could post the sampler state part of your shader then I'd could rule that out. Also is this a texture atlas (many used images stored in 1 texture)?
Texture addressing handles regions outside of the 0.0 to 1.0 range. When filtering other than point is applied the rendered texture will use nearby texture addresses. In the case of edges this means using a texture coordinate outside of the 0.0 to 1.0 range.
To change it simply set the addressing mode in your sampler state. Microsoft states that the default is Clamp which should eliminate this problem but I would set it in your hlsl sampler state and test it.
Edit: Here I was able to replicate your issue in Direct3d 9 simply commenting two lines out
sampler2D colorMap = sampler_state
Texture = <texture0>;
//AddressU = Clamp;
//AddressV = Clamp;
MagFilter = Linear;
MinFilter = Anisotropic;
MipFilter = Linear;
MaxAnisotropy = 16;
Here is a comparison image. Code commented out on left (thus AddressU and V set to default state) and AddressU and V set in sampler2d to Clamp in right. Sorry if the image is slightly off. This is a skybox in the background and I had to zoom it 2.5x nearest neighbor after printscreen to make it easier to see the white line.