Quoting in part from DFHack/scripts#1596:
Using combine with mixed dyes would revert the mix to one of its component parts.
Ex: You have 2 stacks of 2 Dye A, 3 stacks of 1 Dye B, and 1 stack of 3 of the mix Dye AB
Expected behavior: use combine, you end up with 1 stack of 4 Dye A, 1 stack of 3 Dye B, and 1 stack of 3 Dye AB
Actual behavior: use combine, you end up with 1 stack of 7 Dye A, 1 stack of 3 Dye B, and no Dye AB (because it combined AB with A)
DFHack/scripts#1596 mitigates the problem by blocking combining of dyes, but the real solution is to differentiate on the dye_profile member variables that was added to item_powder_miscst in 52.03
Quoting in part from DFHack/scripts#1596:
DFHack/scripts#1596 mitigates the problem by blocking combining of dyes, but the real solution is to differentiate on the
dye_profilemember variables that was added toitem_powder_miscstin 52.03