I found a helpful post a while back explaining how to get the photos off your iPhone (I have an iPhone 3G but this should work for the 3GS and the original as well) using digiKam. Of course, being an Arch Linux user, not a KDE user, and wanting to do things from the command line, I dug around a little bit to find a slightly different solution.

It turns out you can also use gtkam, which in turn uses gphoto, a command line application.

To make a long story short, it is this easy to get all photos from your iPhone (if it is the only USB camera plugged into your computer):

$ gphoto2 --port=usb: -R -P

Which will download all of them into the current folder. You can also get a range of photos by the number shown on the phone, for example:

$ gphoto2 --port=usb: -R -p 339-360