Here's a short reproduction:
- Create a new project, import NGUI, create 2D GUI
- Set "Game" view to 1280x720
- Set UI Root to "Constrained" scaling and "fit heigth 360" (you may also set width=640, no fit)
- Create a pixel-perfect texture, set Point filter and RGBA32 bit
- Create UI2DSprite and set your imported picture, set default coords (0,0,0)
That's it.
Then, switching DirectX 11 in Build Settings->Player Settings will turn bug on and off.
In my case I'm using a sharp checkboard texture.
It is perfectly OK in DX11 is on.
But when I switch it off, I get this:

The lower-right triangle is OK, but the top-left one is broken.
I'm confused. Its OK with any other height I set: 720, 180, 90, etc. But when I set height just 50% of my window size, I get this.
I can't change the resolution of my project. It should be exactly x2-pixel-size at 1280x720 resolution.