Sometimes nobody knows...
It's sometimes impossible to know what is right when things were so wrong, from what I can tell you had errors and you moved the site from one domain to another and well the errors are no longer being reported on the new domain from Google Webmaster Tools. The chances are you have fixed something that your not aware of since a 301 redirect doesn't simply resolve issues. However, it may take Google longer to discover the issues on the new domain, since Google has many different types of Crawls, ones from sitemap, and external maps then a deep crawl that it trys to crawl every single thing even in areas you don't want it too.
Google treats sites differently site to site
It sounds like the new site is being treated better by Google, the speed of issues to be resolved by Google vary from site to site. In your case for example it took almost 3 months to correct, this figure would be different on a site that receives more traffic on a daily basis as Google crawls differently depending on how often you update your page, how good quality it considers it and most important where you are in the rankings and how much traffic they are sending you.
Be Careful Penguin and Panda's are Watching
You need to be careful with 301's from old to new, while it used to be AMAZING you can also end up with little or no traffic at all since many webmasters have and are abusing the 301 daily to get themselves out of sites that have had the PENGUIN, and PANDA SEO slaps.
404's are perfectly normal if you've removed pages or someone is backlinking pages that don't exist
It's worth noting that 404's are completely normal and they are to be expected, for example if someone links to your site with a url that doesn't exist your going to expect to find a 404 within your control panel. The important thing here is that your site is reporting 404 as if it wasn't Google would slap you. If your experiencing 404's then check your backlinks, and internal links. If your finding 404's indexed by Google then you should use the Noindex, follow meta tag.
Plugins, Addons and Modules can help prevent 404's
Also to avoid a lot of 404's you can block certain addons/plugins/mods that Google doesn't need access too, for example blocking a search module is ideal since well Google doesn't need access to the search pages and you don't want those popping up within your index. Try to block as much as you can while enabling Google basic access to your site.
Going back to what I said about time to correct problems, and how long it takes to index your site.. Again this varys and you can force Googles hand by getting quality backlinks to pages.
For example the other day I launched a new site and rather than submitting the sitemap to Google I got my friend to blog about my site on his site (He runs a very popular site) my entier site was indexed an hour later. Google treats sites completely differently and if you want problems resolve faster, then yes your right it depends on the traffic.
Resolving your problems is best
Rather than 301ing to New domains you should try to resolve the problems with using better robots, and htaccess as these are the 2 files that prevent most duplicate and pages not found problems.
Trend carefully with the 301 as you may not get the same outcome as witnessed with this new site, I've had mixed results personally and its very unpredictable how Google will favor it.