With the Tone library supplied with arduino-0018:
Tones are generated by setting up a timer in RTC mode and toggling an output pin (in an Interrupt Service Routine) when the timer reaches a value determined by the contents of its OCR register.
With the maximum prescalar value of 1024, any frequency less than 31 Hz would require a value of greater than 255 in the timer's OCR register.
Since Tone uses Timer2 and Timer2 is an eight bit timer, frequencies less than 31 Hz are not possible.
I have downloaded, but not tested, arduino-0019. Some changes were made to Tone.cpp (disables Timer2 after the tone has ended), but they do not affect my answer to this question: Frequencies below 31 Hz do not compute.