Ok but don't you so still need semantic understanding to resolve the anaphoric cases? I can't see how you could do this in general without checking for matching properties.
But what you're talking about goes beyond "semantic" understanding to pragmatic understanding -- to world knowledge. It's not enough, for example, to check the properties of entities already mentioned in the discourse; you need to be able to check the properties of entities already mentioned or inferrable from the previous discourse. So you're talking about the general inference-from-language problem, i.e. story understanding.
Here's a sample story, a modification of Schank's restaurant script....
"John was hungry, so he went to a restaurant.
It was so bad, he didn't eat any of it, and stormed out without paying."
What was so bad? What didn't he eat? What needed paying for?
As this example shows, anaphor resolution is generally considered to be a necessary component of story understanding. Therefore, you've just made the problem AI-complete. If we can solve story understanding, we can use that to solve anaphor resolution --- but we need to solve anaphor resolution in order to solve story understanding.