I had some duplicate title tags on my site, so I added a rel="canonical". It took a little work to generate the correct URLs, but I it should be fine in all places. Strange thing is, things in GWT were looking good for a while, but now things just get worse and worse every day. Every update, I get a new batch of 404 errors... a new batch of duplicate title tags and duplicate meta descriptions... and the URLs in web index number keeps dropping and dropping and dropping. I hate to take the rel="canonical" entries out, but I'm not going to have any pages indexed at all if this keeps up. I notice the 404 errors say "detected" today, but when you click on them, they're "discovered" almost a month ago. Is this going to eventually stop, or am I up a creek?
I am not understanding how the canonical tag could be even causing 404 errors? Sounds to me like you have removed pages.
How about simply taking back the canonical thing temporarily and see how it shapes up? If the problem still persists then the root cause may be elsewhere.
At first, the URLs being generated were incorrect. They're right now, but the incorrect pages are apparently cached. I'm not sure how long it will take before they're gone.