As you can see by the image I posted, the alignment happens correctly when a null row is inserted to replace a deleted row because I built the test rings exactly as mtconsulting built his. Here is an explanation of why this has happened and it all depends on a decision that has to be made at the time you write the software:
The bottom segmented ring has a segment #1. On the next ring, segment #1 has shifted to the right by 50% of the lower segment. But where does segment #1 go on the third ring? If it shifts back to the left so that every odd ring starts at the same place and every every even row starts at the same place. Deleting a row means that every row above the deleted row has changed it's starting position. This wouldn't really be a problem if all the rows had the same number of segments, but the segment below is now twice as wide as the new row and the software did not anticipate this happening at the same place a row was deleted. The software should be able to handle this correctly, but unfortunately, I kept having unintended consequences when I looked at this before. Choosing to shift the position of segment #1 to the right on each successive row solves some of these problems but introduces others.
Changing the software architecture can fix this but since it would have to be done by consultants, it would be very expensive and any new consulting expenditures are now directed to the new software.
Lloyd