Solution 1:

Chances are, you are importing these pictures into iPhoto. After that, under the photos tab, when you have your iPhone plugged in, is a checkbox to sync photos from iPhoto. This likely is checked. If these two things are correct, it will then transfer back onto your device, all the pictures that were/are on your phone. This is the only time I have seen pictures that I can't delete (that don't have the "trash can").

If this is the problem, it could be easily remedied by simply disabling the sync checkbox under the Photos tab for your device.

Solution 2:

@bassplayer7 is correct, and here's the breakdown.

Steps to recreate the issue:

  1. On iPhone: HDR setting off.
  2. On iPhone: take a picture
  3. On iPHOTO: Select (or automatically) Import photos
  4. On iTunes: on your iPhone settings, in the photo tab, select 'sync Photos from iphoto'
  5. On iTunes: Sync.

Presto! Two sets of the same photo(s).

Why:

  • In step 3, you didn't tell iPhoto to delete the photos off your phone after import
  • In step 4-5, iTunes was told to copy photos that were recently added to iPhoto.

Reason there is no trash can:

  • The iPhone has TWO photo directories.
    • The first one is the photo ROLL. This is created by the iPhone, and this is where pictures you have taken or saved from applications on the phone are stored. They can be manipulated and deleted.
    • The Second directory is the 'imported from PC' directory, and this is read only. You cannot modify these directly from the iPhone. This is intentional, so that iPhoto can maintain them.

The confusing part about it, is that when you look at the iPhone 'Photo Library', they all appear combined. The distiction you can see is that the 'Camera Roll' should only have the copy you took on the device, and there should be a folder in the Albums list that shows the items imported back from iPhoto.

The solution: Check your settings on iTunes and iPhoto. Decide if you want iTunes to copy the last import back to the phone, and on iPhoto, check if you want to import and delete.

Hope that helps!