Robert_Charlton - 7:50 am on Jul 23, 2012 (gmt 0)
Header check tools (I am not technical) show 301 pointing to new URLs so it looks like we have single step redirect in place.
Have you checked URLs individually, particularly the old urls that are still showing in serps?
Assuming you're talking about competitive serps, it's somewhere between extremely unlikely and impossible that they would rank on their old urls for competitive searches if a header checker shows that these urls have been 301ed, unless Google has decided to show redirected urls it feels might be in some way suspicious or odd.
2. Some old URLs are presented in the SERPs in an: Anchor text - SiteName.com format
What was the query that returned in the above result. Was it perhaps this....?
[anchor text - sitename.com]
I'm reminded of this discussion, in which redirected alias domain names appeared in the serps....
Domain name replaced in SERPS with alias domain name
In the discussion, it was noted that one of the reasons the alias domain may have appeared in the serps was because it was one of the query terms. If the query included the domain name, then your situation might be somewhat analogous.
You also asked...
Do you think we should consider getting back to old URLs? I guess the key here would be to figure out a way of doing it without any redirects, etc. Still does it make any sense?
IMO, and this is a total guess... it would make sense only if the redirects were the problem.
If the inbound links to the redirected urls were the problem, then you wouldn't really be changing what's causing the trouble. I'm thinking after all this time, it doesn't make sense to go back to the old urls.
I'd check quality of inbound links and also really have someone knowledgeable check over those redirects.