There has been a lot of discussion about the issues surrounding re-posts. I think what it comes down to is that people are not using the search bar because it lacks basic functionality (the ability to search thread content). As a result, it is nearly impossible to find the original thread.
The obvious solution would be to re-write the search bar so that it can search thread contents. However, it sounds like this is a major piece of work and will not happen any time soon.
Another solution would be for the community to start using the thread titles to accurately describe the contents of the thread. The problem with this is that it is difficult to reinforce. Also, most people like to use their thread title the same way a newspaper uses headlines, to try and draw in eyeballs.
Since both of these solutions have serious issues, I propose a third possible solution to the search issue called thread tagging. What this would do is allow the thread creator to tag the thread with words that accurately describe the thread contents. It would essentially be an invisible secondary thread title. This would allow users to still use a catchy title, but would allow for the thread to be easier to find. The issue of reinforcement is still a challenge, but I think it would be much more willingly accepted.