You're absolutely correct that, if the block geometry were just a line, your solution would be (nearly) perfect. The problem I face is that I need some of the geometry to scale annotatively. This is a function of our drawings being largely diagrammatic. If you look at the attached drawing you'll see the issue. Imagine that it's important that the circles behave annotatively and select an annotative scale other than 1/2" (1/8" to 3/4" are all set up).
The circles of Thingy1, which is a non-annotative block with an annotative dimension, fail to adjust to the scale. It also requires that you set each dimension distance above the geometry individually to have it read correctly.
To solve the first problem, in Thingy2 I made the circles themselves annotative blocks and inserted them into essentially Thingy1 in other regards. Except for the dimensional alignment issue, it appears to solve the problem (and in my particular case does). However if you do stretch the block and then change the annotative scales, it blows up with the circle going back to the original location. It's interesting to note that the added dimension doesn't associate with the circles as it does with Thingy1 (same with Thingy3).
Thingy3 is my desired approach - an annotative block. Everything behaves wonderfully for me except the dimension value. Yes, changing the annoscale makes the line length wig out, but the dimension stays at the same relative place, the circles update and the circles at least stay at the end of the line when you change scales. If you could only tell me how to get the dimension to work I'd be happy. Clearly, I could adjust the block's dimscale to match the annoscale when I bring it into a drawing, but I was just hoping there would be a better way.