I have encountered the same issue as Koolmode. It is also a problem with face and edge selection, with or without overlays.
The following does NOT correct the issue (for me):
- Backface culling (3D viewport, shading panel)
- Limit Selection to Visible (3D viewport, header bar)
- increasing minimum or decreasing maximum viewport clip (shading panel)
- both 'multitexture' and 'GLSL' display styles (3D viewport, shading panel)
- Any combination of selections/values in 'system', 'editing', or 'input' screens of user preferences (as far as I could tell)
Separate object, deselected, placed inside the object being edited so as to provide an extra barrier.
With 'Limit Selection to Visible' enabled, a rear vertex will not be selected if it is either behind a face in the currently selected mesh or perfectly in line with (and behind) a vertex (only really applicable with precision modeling in 2D orthographic). A vertex behind an edge and at the edge of a mesh can still be selected.
Two workarounds:
1) As mentioned above, hide vertices you aren't trying to edit; masking will do the same thing, but this would be pretty tedious.
2) Add a large plane to the currently selected mesh, its face normal facing you, and use it to hide meshes.
It would be wonderful if this issue were fixed! I don't know the first thing about Python or C, but I'll give it a go and see if I can figure something out.