I've had this same problem, and after several tries I finally solved it. It seems to be related with a corruption of the iPhoto Library:
1.- Quit iTunes.
2.- Open Finder, and go to wherever your iPhoto library is stored (usually ~/Pictures).
3.- Right-click on the iPhoto Library and select "Show package contents"
4.- Delete the "iPod Photo Cache" folder
5.- Close the finder window
6.- Open iPhoto. It might take some time for it to reload the library, but it's ok.
7.- When iPhoto finishes loading the library and you can browse your photos, close iPhoto
8.- Open iTunes, goto your device's Photo tab, and make shure the Sync photos option is UNCHECKED
9.- Sync your device
10.- After the sync finishes, CHECK the sync photo option. It will ask if the photos already in the device should be overwritten. I anserwered yes
11.- Select which photos, events, albums or faces you want to sync,
12.- Sync your device again, and it should do it, including your photos
Hope this helps.