I completely agree, and I do think this is a real problem. Three of my last four answers on SO (algorithm/graph tag) took hours of work, required detailed knowledge, are probably correct, and have gained me exactly 0 reputation. On the latest one, I don't even expect an upvote from the asker, since he doesn't actually have enough rep to vote! On the other hand, the 30s Google search for an obvious webpage was worth 65 points.
There are several problems. It's clear that these are low traffic questions. But it's also obvious that the few people that do view the question and answers don't vote because they don't feel they understand the details well enough.
For better or worse, I'm almost ready to stop answering difficult questions. It is genuinely rewarding to be able to contribute something helpful back to the community. But when most people simply don't know or care, it's hard to justify the effort. I do agree it is frustrating when there are one line regex questions out there which require zero effort and are worth hundreds of points (because they are "neat" and are easy to verify).
Other than specialised badges, I don't have any good solution. Perhaps all it reflects is that Stack Overflow simply can't be the place for all programming questions, particularly those that are more computer science. Specialised discussion lists (or academic papers) may simply be a more appropriate (if rather less fun) solution.