We are facing the same issue. Therefore I have opened an OSS ticket with the hints I got from this thread.
I found out that in /SAPSRM/IF_PDO_CHECK_VALUES~CHECK_PRODUCT_CATEGORY2 the call of FM COM_PRODUCT_CATEGORY_GETLIST does not take any LOGSYS into account which results in multiple rows returned. This leads to gc_value_nonunique.
regards
José