If you fix the apparent Z order bugs it should be alright. Remember:
Objects are displayed on screen in a back-to-front order. The higher up the list an object is, the further back it is displayed.
So you need to keep track of the zoom coordinates (or z position) of each of the zoomed objects and swap out objects as needed. I'm not aware of any raptor function that does this so you'll have to do it manually (i.e. swap around all properties of 2 objects).
Another possibility which doesn't involve swapping involves creating many objects, all of them invisible and making them strategically visible depending on the current order you wish to have on screen. More complex but probably faster.