I closed the original topic before actually testing it....
You can use
MoveControlIndex to change the Z-order of a diagram object to an arbitrary position:
Maybe I'm just stupid, but I can't work out how I can get the Index of the selected block so that I can move it to Index+1 or Index-1. The atDiagram sourcecode uses the IndexOf property but that is private to atDiagram.