Max 3.3 volt regulator

Sorry im not great with electronics and not sure what im after is called..

Im poweing my GLCD with a LiPo Pack (3.7V) its charged with a solar panel but when the pack finishes charging the output from the pack / charger is 6V. currently the GLCD is doing the voltage regulation but i would like to impliment some power monitoring..

Iv tried using this code.

void setup(void)

void loop(void)
  Serial.println (getBandgap ());

const long InternalReferenceVoltage = 1062;  // Adjust this value to your board's specific internal BG voltage
// Code courtesy of "Coding Badly" and "Retrolefty" from the Arduino forum
// results are Vcc * 100
// So for example, 5V would be 500.
int getBandgap () 
  // REFS0 : Selects AVcc external reference
  // MUX3 MUX2 MUX1 : Selects 1.1V (VBG)  
   ADMUX = _BV (REFS0) | _BV (MUX3) | _BV (MUX2) | _BV (MUX1);
   ADCSRA |= _BV( ADSC );  // start conversion
   while (ADCSRA & _BV (ADSC))
     { }  // wait for conversion to complete
   int results = (((InternalReferenceVoltage * 1023) / ADC) + 5) / 10; 
   return results; 

And it works fine.. BUT the regulator is also Boosting the voltage when it gets too low. Well i think it is.. say 3.0V to 3.3V. as i never see any other value other than 330, It does flicker around but not by much..

What im after is some how making the voltage a max of 3.3V but not to boost the voltage if lower.  Some one at work sugested using a zener diode but i not sure how this would help. 
I guess i need to replace or remove the current regulator and add a new circuit.