For those with 32bit intel machines where the low-battery-saver application doesn't work, i have put together a simple applescript which achieves the same. I copied most of it from http://macscripter.net/viewtopic.php?id=23448.
Just paste it into Applescript editor, save it as an application with "run always" checked, and add it to your login items. The number in the first line is the % battery below which you want the computer to sleep.
property lowBattery : 6
on idle
set battStatus to do shell script "pmset -g ps"
if battStatus contains "Battery Power" then
set {TID, text item delimiters} to {text item delimiters, ";"}
set battStatus to text items of battStatus
set text item delimiters to tab
set battStatus to text 1 thru -2 of last text item of item 1 of battStatus as integer
set text item delimiters to TID
if battStatus < lowBattery then do shell script "pmset sleepnow"
end if
return 60
end idle
If you want to make it run in the background without a dock icon then download and install Applet Bundle Tools from here http://www.macosxautomation.com/applescript/bundletools/index.html
Unzip the archive and copy it to /Library/Scripts
Then open your applescript and have it in the foreground in Applescript Editor.
from the applescript menu, run "Applet Bundle Tools > Set Background Only"
and "Applet Bundle Tools > Set Icon in Dock Display"
Save the script again as an application "run always" and you are done.
This works for me on a 2006 Macbook Pro runing OSX 10.6.8
Hope this helps others as it was driving me crazy.