I've encountered "fussy" cards at times too.
One thing that I've had some success with is to not use iPhoto to import the card. Here's my process:
1. remove the flash card from the camera
2. put the flash card into a USB media reader
3. iPhoto will probably sense the card and launch. Let it to so & wait. You should also see the card mount on your desktop.
4. Quit iPhoto.
5. In the Finder:
5A: Go create a new folder someplace on your hard drive.
5B: Open the flash card's first directory.
5C: Copy everything in the card to the new folder on your hard drive.
Be aware that it might take a long time to make this copy (similar to what happens when you get a marginal CD). Wait for it to finish.
6. Properly dismount/eject the flash card.
7. Launch iPhoto
8. Direct iPhoto to import from the identified directory. It should now do this quite quickly, and will get the whole thing.
BTW, if iPhoto doesn't show all the data for the images, you probably missed copying the EXIF data file.
Also, what you can also try doing is:
A. Repeat everything up through step 6
B. Take another flash card of the same capacity or larger (make sure its empty and freshly formatted) and put it (I'll call it Flash Card#2) into a USB media reader
C. If iPhoto launches, do the same as before: let it come up and settle in, then Quit.
D. Open the folder into which you put all the contents of Flash Card#1.
E. Copy it all over to Flash Card#2.
F. Properly dismount/eject the flash card.
G. Launch iPhoto & try importing them now.
FWIW, in a pinch, you can don't need a second flash card if you reformat the first one at Step B. However, just be aware that if you do this, since the only copy you have of your images is what's on your hard drive, you're working without any safety net.
-hh