Hi David
Without looking at the backlink profile of either domain I can't be certain, but it very much looks like that 301 redirect has brought about the penalty.
It doesn't matter if there are 30 bad links or 30000, if a Google quality reviewer believes the backlinks are poor quality, you run the risk of being penalised. I wonder whether you are seeing all of the links at the moment - it might be worth using the Link Detox tool for a more comprehensive backlink audit than Open Site Explorer can offer. This may reveal more poor quality links.
But it sounds like you're pretty confident that the 301 redirect has caused the penalty. Rightly or wrongly, I'm afraid it's not up to us to judge what links are "bad", it's Googles. So while you and I may think the old backlinks are OK, Google may take a different view. I would also rule out any chance the penalty may have become because of an influx of new links (via the 301) - having set up a number of new websites and redirected old domains (with hundreds of thousands of links) I've never seen this trigger a penalty by itself.
I'd put your theory to the test and remove the 301 and send a reconsideration request detailing you have done so. From what I can tell, that would remove the penalty. Run a deeper audit of your backlinks to see if yet-to-be-revealed bad links are present. And if you really want some authority links from other websites to pass through to the new domain, contact them manually and ask them to update their URLs.
Hope this helps