What your saying if I understand you is that the Message Transfer Agent (smtp) basically either stops mail or transfers mail.
By 'stops', perhaps you mean "refuse to accept". Yes, what you say is what MTAs usually do. But they can do other things - they can accept, then drop messages.
And it has no ability to delete the mail.
qpsmtpd and qmail in SME server do not delete any mail. But they could be configured to do so (using a new qpsmtpd plugin or a custom .qmail file, or procmail as you suggest).
That this deletion must be done upstream at a mail server that actually recieves the mail. eg Exchange. Is that right?
I don't know what you mean by 'upstream' and I don't know what Exchange has to do with it. Neither of the MTAs in your example are Exchange servers.
There are often multiple MTAs involved in the chain of delivery from sender to recipient and any in theory could divert or delete messages.
If you describe your configuration and your actual problem clearly, then someone might be able to provide a complete answer for you. I'm signing out on this issue now.