If a changeset has been discarded or not

One answer

In the context of a work item "Discarded" does not seem to make sense as a characteristic of a change set. I am also not sure if "Discarded" is any meaningful characteristic.
Comments

As Ralph says "discard this change set", it is just something that you can do to a workspace, and has no implication about the presence or absence of that change set in any other workspace/stream in the system. So it is extremely unlikely that the question "has this change set ever been discarded from any workspace" is of any value.
Also note that "suspended" is a relationship between a user and a change set. So you could iterate over all users, and ask what change sets they have suspended, but that could be a very expensive operation if you have a lot of users in your system. So Ralph's last question is important ... why would you want to do this?

Well we needed to create a report of which changesets linked to one or more workitems have been discarded/suspended.

Note: Just because a change set is suspended somewhere, does not imply that the change set does not exist in a repository workspace or that it was never delivered to the stream I.e. You can be in a situation where you see 'ChangeSetX' in the Suspended list, but it also could exist in that repository workspace (ex: in the Outgoing folder), or it could also exist in the stream (flow target), or both.

Note that the question "why would you want this report" was not answered ... if the Product Owner got an indication that some user has suspended a particular change set (from one of their workspaces), why would information be of value to the Product Owner?