I think you will get much better "bang for your buck" by finding isolated cases where users are tagging only with wai and educating them about being more specific. This should be a much smaller workload and should be very easy to explain based on the context of the question.
As I mentioned in my comments:
I don't know, if there are lots of questions tagged wai only it might be a problem, but there are lots of cases I see where query or cursor is used as a tag, but I never see them alone, they're always combined with the tech the question involves (e.g. sql-server or oracle). I think it would be artificial to enforce some kind of "this word is ambiguous or too generic therefore can never be used as a tag" rule.
It sounds like a lot of work for little gain. Folks will still use the wai tag as long as it exists, and will they really think to look for a haskell-wai tag? I don't know the space but again I think about this in terms of my space. I wouldn't want to have to use a tag like sql-server-cursor when the question is already tagged sql-server. Seems redundant to me.
Right, I find that making hybrid tags will just lead to a different problem. If someone tags wai only with no tagged indication of which area they meant, you should be able to update those based on the question context, and it would be less work than trying to update and re-tag all questions that have a tag wai and are also correctly tagged with haskell or w3c. Again, seems redundant.