10.1.3 is a very old release, you may want to upgrade.
The behavior did not change, the purpose of batch read attributes has always been to read all of the related objects when any related object is accessed. You should normally only batch something you intend to access.
What may have changed is that previously if the object was already in the cache, then the relationship would not be refreshed with the BatchValueHolder, so would not get the benefit of batching if it was already cached. 10.1.3.4 most likely now refreshed the cached QueryBasedValueHolder with the BatchValueHolder. If the object was not in the cache, the behavior would still be the same, the object in the cache would be built with a BatchValueHolder, and whenever any of the related objects is accessed, all of the related objects would be batch read.