Hi Jon
This is such a shame, as it looks a great website with a cool domain name. It always makes me angry when an SEO agency prays on the naivety of a webmaster, as your previous company did.
What I'd ask first is what sources have you used to identify your bad backlinks? In an ideal world, you should be using multiple. In the past, I've had success with removing penalties but only when using a combination of Google webmasters report, Open site explorer, MajesticSEO (historical index) and LinkDetox. I'd highly recommend majestic's historical index as it is the most complete crawl out there as far as I know, while LinkDetox can help you diagnose a number of links and see if they're toxic or suspicious.
The next question I'd have is how is your current SEO guy classifying the bad links? I've found that it is important to be as vigilant as possible with your classification - probably more so than you think you need to be. This means if you see any link with targeted anchor text, either partial or exact, get rid of it. Blogrolls/site-wide links: Gone. If at any point you can look at a link and think: "That looks like I asked for it to be there/it was placed there" consider it for removal.
Have you been explicit in your reconsideration request? Of course, this is only relevant if you get a message back confirming manual action has been taken. If you don't and no manual action has been taken, the penalty is not present and doesn't require a reconsideration.
You need to give a detailed account to Google of what steps you have taken to have the links removed. How you found the link (by source), where you found the contact details (on site, contact form, who.is data), when you contacted them, when you followed up etc. Anything you can't get removed after multiple requests should only then be disavowed, in Google's eyes. The Disavow tool is great but Google really wants you to be as thorough as you can and make every effort to have the links removed before you disavow.
In addition, don't be afraid to use the domain:example.com function liberally. You'll disavow any link on the entire domain with this, which can be a big help.
In some circumstances, I actually recommend starting with a fresh domain - it can actually be less work starting with a fresh, clean link profile and earning some high quality links this way. I'd consider this if I were you, but I can completely understand the attachment to your domain.
Hope this helps in some way and feel free to ask me anything else you may be wondering.
All the best!