@rogerd I have not had such experience, but just a thought... you had spam link injection to wrong URLs, then you redirected these wrong URLs to correct ones. So perhaps the correct URLs would now "inherit" these spammy links via 301 redirect? Could this be the reason why (if I understood well) the "good" URLs are not ranking either?
Normally 301 is a solution with leaked unwanted URLs that result as a technical error, but perhaps because of spammy links maybe this is not the best solution here? Mind you, I do not know if these wrong URLs have gained other "good" links whilst they were exposed.
As tedster said above, legacy URLs that are 301-ed are not just abandoned after a while - which is what I noticed even more so in the last 6-8 months.
E.g. I have a case where large number of URLs were redirected 2 years ago, and this redirection went really well and old URLs were dropped from index completely (no reports in site:operator, no reference to them anywhere in WMT). But then another technical mistake was made in September and a small subset of previously redirected URL "lost" the redirect for a couple of weeks - even though they were NOT referenced from within the site and as far as we could see there were no links to them. Despite that, in my case they were back in index pronto. Fortunately, WMT has reported duplicate titles and this is how we found about these and re-installed the redirect. They now mostly disappeared again (although it took longer than instating the original redirect), and there are few that still hang around somewhere at the end of the list that site: operator produces.
I have noticed that as of last 6-8 months Google is exposing to us via WMT much larger set of legacy data it knows about. My opinion (which may be wrong) is that whilst it had this data all along maybe the data was "archived" somewhere because maybe the old infrastructure might not have supported easy access to such data volume. And now the new infrastructure perhaps allowed for this data to be included more readily. This is just a speculation though.