Hi Matt,
Have you tried changing the Blending to Clip and the Opacity to zero in one of the shaders? You explained the issue logically and clearly, but still, if you could, it would be better to post the file here so we can check it for you, maybe someone can help. As for the objects maintaining their initial motion at their initial positions, not changing their properties based on where in the shader they move to, I don’t think this is possible except by using a script if that’s even possible, because this is somewhat contradicts the shader principle, I have not seen such a thing possible except with Linear Field.
I hope this is helpful to you.