Make sure you have it set to do this: Menu | Settings | Sounds | Flip for Speaker [checked].
Also, what I have noted, is that the surface must be nice and flat. Just holding it upside down in your hand usually will not work. Neither will laying it on the car seat next to you. Lay it on a desk or table face down.
Also, the speakerphone volume is set separately from the normal voice and ringer levels. You might need to check the speakerphone volume first to make sure it is turned up high enough you can hear it.
Edit: Also, just to be clear, you have to already be on a call before you lay it down on a table.
-Frank