Hi Mark,
The "Subtract" list operation is looking for object equivalencies (via the Mendix Identifier, I believe) and not duplicate data. To my knowledge, if you have two entities with the same attributes, they will have different identifiers and will not be removed via the subtract list operation.
A possible solution would be to use the "Find" list operation that, if the object was found, then you would know that the object is a duplicate and can remove it from the list (this would be iterative, however).