If I'm understanding you correctly, than I think you've got the wrong parameters in your first call to glStencilOp.
The three operations are respectively:
- What to do when the stencil test fails
- What to do when the stencil test passes, and the depth test fails
- What to do when the stencil and depth test pass.
Since your stencil test always passes, we can ignore #1, but if you only want to draw in the stencil buffer the place where the sphere would be drawn (and not filled in the area occluded by the depth buffer), you should not increment the stencil buffer in case #2.
So I would instead try:
GL.StencilFunc(StencilFunction.Always, 1, 1);
GL.StencilOp(StencilOp.Keep, StencilOp.Keep, StencilOp.Incr);
Resources.R.StencilMesh.Render();