I think the missing delete messages is a concept problem on the twitter side.
From my understanding works the sample stream with a logic that works with the tweet id.
The delete message contains also the tweet id, so they know which one have to be send to the user.
The filtered stream works complete different.
They use the individual filter with the 100% stream first and add a 1% filter afterwards. ( ==> limit reached msg).
With this way is it nearly impossible to send the correct delete messages to a user.
Only way that could work, is if they send us simply all delete msg. (maybe as a own parallel stream.)
So the really important question is the status of the TOS.
The wording is here very interesting.
From my understanding are we still inside of the TOS if we implement the necessary delete logic,
so we are able to delete the tweets after twitter informs us about it.
And it is not our problem if Twitter never send us a delete message.
But this is just my personal understanding and I fear Twitter has here a different opinion.
We want to use our app inside of a professional environment and the free stream is just for the first steps.
So the following of the TOS is not an optional thing for us … it is absolute necessary.
A clear statement from a Twitter staff member, would help here a lot.