Regarder des problèmes de 2014 ne va pas t'aider à résoudre ton problème.
Depuis la 1.6.1.1 cette table contient une clé unique sur id_product
install-dev/upgrade/sql/1.6.1.0.sql:ALTER IGNORE TABLE `PREFIX_product_download` ADD UNIQUE KEY `id_product` (`id_product`);
Il est donc impossible que tu ais plusieurs fois le même produit, sauf si tu as migré, que la migration ait crashé et que tu l'ais ignoré.
Dans ce cas tu nettoies et reconstruit l'index
Mais la structure de ta table est différente de ce qu'elle est nativement, tu as des champs supplémentaire, notamment id_product_attribute. Ceci signifie que ta clé unique devra l'inclure à minima - ce dernier point est la cause/volonté de ton module tiers. Ramener au fonctionnement natif a toute les chance de tuer ton module