Hi,
I had almost exactly the same problem, and since I just discovered the nature of the problem and how to solve it, I thought that I'd make the effort to register and post something. I hunted around on the web for a day and didn't find any answers---many people appear to suffer with a similar problem---so I think that this might help a lot of people.
First, I'm using Android 4, ICS, on a Samsung Galaxy S3. For some reason, after I installed GoSMS Pro, setup the Facebook account, and started tinkering with my contacts, the contact photos in both the stock Messaging application and GoSMS Pro disappeared. I could still see the contact photos in the Contacts application, but both SMS applications showed ghosts for the images for all but a couple of contacts. The three or four contacts with photos seemed to have nothing in common. Some were people who had no photo in Facebook. One was someone with only a Facebook profile picture and no picture on my phone or in Google Contacts.
When I was using the stock Messaging application, I tried to edit some contact information directly from the menu in the conversation thread, and I found that the application appeared to be using the contact entry from my SIM card. I think that on my previous phones I had set up the SIM card as contact memory for a long time, and even after I started using the phone memory on a previous Android phone, I think that I synchronized the SIM card and phone entries a few times. (I'm not sure; my old phone has a broken screen, so I can't check if the older Android version had a function to synchronize phone contacts with the SIM card.) I knew from previous experience with the SIM card that the SIM card would not store photos as part of its contact entries, so of course, if the messaging applications were consulting the SIM card for the contact information, then they would not have show photos for contacts found first on the SIM card. I deleted a SIM card entry that already existed on my phone and in Google contacts, and when I removed the SIM card entry for the person, the picture popped right up.
To make a long story short . . .
THE PROBLEM: Android 4 does not appear to let you select a contact source as the exclusive source of contact information for all applications---if you read the Contacts options carefully, you'll see that Contacts only allows you to select a source to display as opposed to exclusively access---and if you have a SIM card contact entry for a person, Android 4 appears to serve it first to the messaging applications.
THE SOLUTION: Switch Contacts to display from the SIM card, and remove the SIM card entries one by one. The images in other sources should appear in both GoSMS Pro and the stock Messaging application.
Thanks, and I hope that this helps someone.