In that case, I'm not sure why you're doing the screen coordinate checking, seems like a kind of cumbersome way to do it.
If say you want the recticle to move when you move but dynamically shift back to the centre of the screen then you could probably be clever with the set camera to follow object and make the recticle the object... That way it moves about the screen but when you do your position code, you position the recticle itself. Now you can math a line between the camera/weapon position and the recticle's centre, and extend it through 3d space towards a target.
I'm guessing here but my assumption is you want an element of innacuracy to shooting, if you're not standing still but moving.
So in the above scenario, your recticle will seem to drift about the centre of the screen when you're running/moving, but when you stand still it'll centre itself on the screen's centre
To do it with the screenx/y checks, you'd need to include a view angle calculation etc, not as simple a proposition as the above one
ZX Spectrum 48k Issue 3, Radio shack Tape drive, Rank arena 12" T.V. set.