Image Capture -> Browse Devices
Resurrecting this thread since it's related, but the 2 times I've had this problem now I've had to fumble for the answers, and haven't yet found this answer online.
While all the "delete prefs" suggestions reset the state of the apps in question, they don't address the main problem: for whatever reason the iPhone does not "connect" to the image import apps (Image Capture or iPhoto), even though the hardware is recognized (by iTunes, iPhoto (at least to launch, if selected as the default camera action) and System Profiler).
The discovery I have made twice now is that Image Capture has a "Browse Devices" selection which lists all connected (or paired, if Bluetooth camera phones are favorites) image capture devices and their state. Each time iPhoto has not recognized the iPhone, the phone has showed up as a "Camera device" or other generic name that does not identify the camera as an iPhone. To the right in the devices list is a column of check boxes, one to mark as "connected" each device, and the box for the iPhone is unchecked. Checking the box changes the state of the phone, and the name updates to my iPhone's name, and the main Image Capture window jumps to the front to offer me options for importing images. At that point I can quit Image Capture, start iPhoto, and get to importing and adding keywords to images.
I haven't yet tracked down which process should be running to make this connection automatically, but at least the next time I forget this answer, I should theoretically be able to Google for the answer. ;-)
So, no iPhone in iPhoto? Quit iPhoto, launch Image Capture, Devices menu, Browse Devices (cmd-b), check the box for the unidentified camera device. Once done, you should see your iPhone's name in the list, and be able to use either Image Capture or iPhoto to import pictures.
Ideally, this'll be fixed by either iPhoto 09 or 10.6. :-D