Using lots of complex modifiers can often produce unexpected results, especially the ~mix modifier...
Your ~mix rule looks fine, but, what you need to know is that the list that the ~mix rule has to work with has been heavily filtered by all the rules that precede it. What this means is that, if there are not 1000 tracks in the list for the ~mix to work with, it will add duplicates until the parameters specified in the ~mix are met.
You could try moving the ~mix rule above the two ~limit rules, but then you must also bear in mind that once the ~mix rule has produced it's 1000 tracks, those tracks will then be further trimmed by the limit rules and then again by the time restriction, which will upset the overall percentages specified by ~mix
To see what I mean more clearly, try removing the ~mix, ~sort and ~t rules from above and check your list now. This list is what ~mix will have to work with once you add it back in.... are there 1000 files in the list?
If not, ~mix will recycle the available tracks until there are 1000 listed.
-marko.