The behavior you are experiencing is usually caused by the user modifying something in the iPhoto Library in finder. iPhoto organizes that file so that it can find the photos and work for you. If the user changes ANYTHING in there, iPhoto cannot find the correct photo. Stay out of the finder!
The rebuild suggestion is a good one. Give it a try. Warning, if you need to do the manual rebuild as described on the Apple website, you may, in fact get duplicates (I actually got quadruplicates of some photos) and you will have to clean it up manually (be sure to watch the sizes of the photos -- only keep the highest resolution ones). It was worth it to me to get my photos back.
Good luck!