Why do changes in driven variables not trigger a rebuild?

It's really got me baffled why this is the case.  I've searched and searched but have found no-enlightenment so I'm hoping someone here can put me straight.

I've constructed the simplest case I can imagine to illustrate.

An assembly with a single sketch of a vertical line coincident one end at the origin (center/green)

There's two parts.  The orange line on the right is a sketch in a part that has horizontal relationships to the assembly sketch at its endpoints and a driven dimension.

The driven dimension is then used to drive the length of the rightmost line.  It doesn't update... even when you open the part, the sketch or the equations.  Notice D1 has a different value in the sketch and in the equations at the same time.  There's nothing.  A CTRL-Q will fix it, but that's no good

The two lines on the left update perfectly.  They are similarly constructed, ie using a driven variable, but the variable is driven by a sketch referencing a boss extrude up to vertex.

I really dislike using 'stupid' workarounds, it seems to me like a pretty straightforward situation to want to get the length of something and use it to make decisions on the fly.  I just don't get it.. how should I be doing this?

thanks for looking.

SolidworksAssemblies