you're changing the materials renderQueue (make sure you changed sharedMaterial, not material - material will just create a copy each time and leak lots and lots of materials).
Changing renderqueue is the same as changing material though, as you'll need a unique material for the sprite to be able to change the render queue on that alone and not everything else.
However, if you're not using a perspective camera, why dont you just move the sprite closer to the camera (have 2 distances for the sprite, near and far) when you need it to draw it in front of everything and back to the original place otherwise? To me this is a much better solution, as the sprites will still be able to batch.