In geant4.9.2.p01 there is a logical mistake in the function G4LogicalVolume::TotalVolumeEntities(). The function uses a static variable (static G4int vols=0) that is used to accumulate the number of repeated entities recursively. This works correctly the first time that function is called, but if the function is called again you will get double the correct number, then triple, then quadruple, etc, since the static variable still retains the value from previous calls.
The implementation has been corrected in the development version and will be included in the next release or patch. Thanks.