Maybe I wrongly understood you, so I beg you pardon if my answers is not useful.
From what I understood you have ton of duplicate product pages. So you decided you use rel="canonical" in order to say to the SE that all the 99 product pages of 100 are dupes of the first one.
That means that you are suggesting (rel="canonical" is not a command, but a strong indication/suggestion to the search engines) to not consider for indexing those 99, but just the 1 canonical page.
Therefore, if your problem is to have SE crawling all your pages, and you consider those product pages as to be crawled, therefore canonical tag is not the right thing to do.
If you want all those duplicates to be indexed... then you should have to differentiate all of them, making them unique, as you write in your note.
