Survey points are measured from a base. They are, in essence, the endpoints of vectors. A design point is a coordinate with no genealogy. Cluster Average points are survey points, provided that all of the points that created the cluster are survey points. Add a design point and the average loses its lineage. Cluster Average points create a vector from the base of the first point in the average. Because of this, when the base moves (due to DPOS, shift or manually editing the base position), then all rover points from that base will move with it, because the vector is preserved. A design point has no tie to the base, so when its moved, there is no automated approach to knowing which design points should move and which should not.
We're looking at several different solutions for this. One solution is to make the user perform a CoGo>Shift after DPOS, where the user selects which design points to shift, and populating for him the shift amounts in dN, dE and dU.
The other solution we're looking at is to add a base point to certain design points. For instance, if you do a bearing-bearing intersection from two survey points (P1 and P2), then the design point would inherit the base point of P1. If the base point of P1 is ever shifted, then the design point would also shift. I believe this will be the most elegant solution, but it may take some time to implement.