I actually don't understand the tearing they're talking about. If the fields are final then you can't modify the Value Type anyway?
You can assign the object again to overwrite it 'in place'.
And a simple write-lock bit for fat Value Types would solve everything while maintaining most of the performance benefits (both on read and write)
They even already have an extra 'null' bit tacked on to the value object.