I had this same problem multiple times with my iPod touch, and here is the one thing that finally fixed it:
- Close iTunes
- Go to (Mac) Username/Music/iTunes/ (PC) Documents and Settings/User/My Documents/My Music/iTunes or wherever else you may have your library, and delete the Album Artwork folder
- Open iTunes
- Replace lost artwork
- Plug in iPod/iPhone
- Restore
- Do NOT use a backup
- Sync
That fixed it for me, and it has been good to me since then. Do not try to take it to a Genius bar unless this doesn't work. They told me to do this, and until then they would not talk about it.
I tried this and continued to have artwork missing (or misplaced) on the iPhone, although it was showing up fine in iTunes, and every track had its art embedded in the song. After two complete Restores to
new iPhone status, not using a backup, I came to realize there must be something on the computer side that was messed up, not the iPhone itself.
iTunes apparently uses some information from ~/Music/iTunes/iTunes Library to associate tracks with artwork during an iPhone sync. Unfortunately there's no way to manually access that file, so if it becomes corrupted the only option is to rebuild it, according to
these instructions.
This was fairly painless but took awhile on my >15,000 song >500GB video Library. Playlists, playcounts, last played dates etc were all preserved. Upon the next sync the iPhone asked if I wanted to replace its contents with this "new" Library, and lo and behold all my artwork is "right" again. What was then painful was that my

TV hacked to hold my entire Library on an external drive had to resync everything as well.
I get that Apple has this method of "referencing" some of the artwork to save disk space in some cases keeping a single copy of the artwork but "applying" it to an entire album. But when the art is actually embedded into the songs (like all of mine is), it's silly that a corrupted database would keep that art from displaying correctly. It's time to get rid of this...we're using multi-GB gadgets now! Saving a few MB on artwork at the expense of having it mangled by an inaccessible database file is very "registry"-like.