Sometimes when doing 3D the osnap marker will display at the current elevation rather than at the point you're snapping to.
If you're snapping to an endpoint at 10,10,10 and your elevation is set to 0, the osnap marker will display at 10,10,0 but it will pick up the point at 10,10,10. Not sure...