I had a similar problem so I ditched the library, got out the data sheet, and learned how to read/write the registers. Here is a quick sample on setting the range and reading the register to make sure it contains what you wish. Have spent many hours working with this unit - will try to help if I can.
// Write to CTRL_REG4 register located at 0x23 to set Full Scale and some defaults
// 1xxxxxxx Set most significant bit to one to avoid updating data registers between reading the MSB and LSB of data
// x0xxxxxx Bit for selecting big or little endian - default is 0
// xx00xxxx Sets full scale to low range
// xx01xxxx Sets full scale to mid range
// xx11xxxx Sets full scale to high range
// xxxx0000 Default values
Wire.beginTransmission(HH); // Talk to the 331HH
Wire.write(0x23); //Writes the address of the register
// Use only one of the following three statements - this assumes most signifcant bit is 1 and lower four bits are 0
Wire.write(0x80); //Set Range to LOW
//Wire.write(0x90); //Set Range to MED
//Wire.write(0xB0); //Set Range to HIGH
Wire.endTransmission(false); // false causes a restart to be sent
// Read CTRL_REG4 register
Wire.beginTransmission(HH); // Talk to the 331HH
Wire.write(0x23); //Writes the address of the register
Wire.endTransmission(false); // false causes a restart to be sent
Wire.requestFrom(HH, 1); // Request 1 byte
if (Wire.available() > 0){
Serial.print("CTRL_REG4: ");
Serial.println(Wire.read(), HEX); // Print the contents of the register
}
else
{
Serial.println("No data received");
} // End of if