Bug fix: don't get fresh value unless needed.

The previous patch could call fresh value for Boolean sort, if there is a
store on the array that stores 0.  Now we only get a fresh value, if the
default value is not overwritten by the current array.  Since Boolean sorted
arrays should have a select for all values that are overwritten, the fresh
value should never be got for Boolean sorts.