If you use CHDK (runs on the camera but doesn't affect your warranty), you can see what voltage the camera is actually reading from the battery.
You will need to look through
http://chdk.wikia.com/wiki/CHDK for more information about what to do, but I will write the gist of it below:
* Get the 101B firmware from here:
http://mighty-hoernsche.de/* Put the files onto a SD card that is 4GB or less (must be formatted as FAT - but by default they are unless you have done something odd).
* Put camera into "Play" mode and turn it on (must be in play before turning on).
* press Menu, then press Up on the joystick.
* If files are on the card correctly, you should be on the last item in the menu and it should say "update firmware".
* Press Right, Right, then Func set (The update firmware option is taken over by CHDK, and CHDK only runs in RAM, it does not actually touch or update the camera firmware).
* The camera then reboots into chdk firmware.
* If the camera hangs on reboot, then you need the 100G firmware instead. Remove and reinsert battery to reset camera. Put 100G firmware on SD card and repeat steps above.
Once you get CHDK booted on you camera, there is an option in the menus (press print button on top of the camera, then menu button) to change the display to show the battery voltage - have a look around till you find the option.
Have a go, and reply to this thread with what you find.
Also you could remove the battery and check that the terminals inside the camera are not corroded.