Hola,
Tras muchas pruebas os puedo contar un poco por encima la solucion.
Cuando se realizan las combinaciones de un producto, estas, se guardan el la tabla product_attributes con un id_product_attribute distinto para cada combinacion.
Pongo un ejemplo:
Dado dos productos (id_product = 1000 y 1001) con 3 combinaciones (tallas S, M, L) en la tabla product_attribute se guardan 6 lineas, una por cada combinacion:
id_product_attribute id_product
1 (S) 1000
2 (M) 1000
3 (L) 1000
4 (S) 1001
5 (M) 1001
6 (L) 1001
El problema radica en que al elegir la talla del producto 1001 en el un combo desplegable los valores (id_product_attribute) del combo son los del producto 1000, por ello genera este error.
Para solventarlo hay que modificar el código.
Inicialmente yo lo he hecho un poco chapucero pero funciona. En cuanto lo saque como toca os pongo el codigo.
Saludos