Experiencing a similar issue, intermittently
THE BEST WORKAROUND/FIX appears to be to close iPhoto and delete ~/Library/Preferences/com.apple.iPhoto.plist
It will effectively reset iPhoto, although you'll keep your existing events, and it may cause iPhoto to 'see' your iPhone again. It appears to have worked for me; I left iPhoto open for a bit and it finally displayed my iPhone and let me import photos
I discovered this via this thread on the Apple iPhoto support forum
As per "Kio Dane" , seeing if Image Capture 'sees' your iPhone and will pull photos from it is a great first step.
As part of my troubleshooting, I set iPhoto as the default application to open when iPhone is connected (via Image Capture preferences)
When I plug in my iPhone, iPhoto opens, but will not display the iPhone in the sidebar to display & import photos
The reason I was using iPhoto in the first place was because I like to keep ALL my iPhone photos on the iPhone, but import new ones to my machine whenever I sync. With Image Capture, which is more 'stable' (almost always 'sees' the iPhone), it doesn't detect already imported photos, which can result in duplicates.
Picasa will detect duplicates, but is very slow to scan the iPhone each time it is connected to sync.
It appears that the SOURCE of the issue around iPhoto not seeing the iPhone has to do with non camera photos being stored within the camera roll (ie. screen grabs, or images saved from Mobile Safari) - some people have reported success in getting iPhoto to see their phone again by deleting any non-camera photos from the camera roll. I hope Apple comes up with a proper fix for this.
Just want to add that recently I've found that iPhoto will 'see' my iPhone as long as I connect the iPhone BEFORE opening iPhoto, and then wait (up to 10 minutes) for iPhoto to finally see the iPhone... – Josh Newman – 2010-03-21T16:57:33.027