1. Is antialiasing on?
2. Floating point issues could cause this. I wouldn't trust that vertex snapping thing either as I've seen it not put them at precise locations in the past.
Are you using 100 pixels per meter or something like that? I would try positioning by typing in numbers. Also, try some additional padding.
2 things could be happening here - either the vertices are getting snapped to the wrong pixels, or the texels are being sampled incorrectly. You can work out which by replacing the shader with something solid without a texture - if you still see it its vertex pos, otherwise its texels. Texels can be fixed by padding. If its pos, we need to get to the bottom of why, eg. try positioning with numbers to see if it helps.
Also, if you're not running pixel perfect, that adds a lot more potential for mad stuff to happen.