This is and old story for Revit: when you try to change a level for a pipe, duct or cable tray, the offset of the element changes automatically to adapt to the new selection and the element doesn't move from his location but, when you try to do this with a fitting, this is another story. All the system connected to that fitting will move to a new location. Actually what happens is that the level is changing but the offset is still the same. Here a small script to prevent this. Is only for pipe fittings but you can easily adapt to other types of categories with the same issue ;) Download the DYN file for Dynamo 1.2.1 and enjoy!
tips, techniques, tutorial and other about BIM