Hi Brian,
First of all, remove all of those 301's to the homepage. This will cause you nothing but a huge headache (like now, you have redirect loops). Redirecting pages en-masse to your homepage is a big no-no in general.
Hop back into Webmaster Tools and mark the 404's as fixed and hopefully this should appease Googlebot as it doesn't look like those pages actually exist on the site anywhere, unless you have captured each one with a redirect.
You can block all of those pages via the robots.txt file as well by adding the following:
Disalow: /?post_type=crown_enquiry&p=*
I would also block the /wp-content/ folder via robots.txt while you are at at as well.
My robots file looks like this:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/
Sitemap: http://www.inetseo.co.uk/sitemap.xml.gz
That said, 404's won't really do anything to your rankings - it is more of a warning that something isn't there than anything else. Of course, if you had a site that had 10,000 pages then you suddenly got 9,999 404 errors, this might be a little different
-Andy