Seems to be this
http://www.bay12games.com/dwarves/mantisbt/view.php?id=5992
The comments might have a few suggestions to work around this, here's some copypasta I saved somewhere:
Try making catcher stockpiles that don't allow bins (or any containers) and will take from anywhere, and other stockpiles nearby which do allow containers, take only from links, and are linked to take from the catcher stockpiles.
That only reduces the spam, doesn't eliminate it completely. In my current fortress I have 5 farm plots running, I use that trick and I still get so much cancellation spam that I had to turn it off.
Perhaps all those announcements could be grouped just like combat reports? You could have different kind of groups, like "Item Creation", "Job Cancellation", "Mandates and Demans" etc. Job Cancellations could be divided to sub categories, like "Dangerous Terrain", "Interrupted", "Site Occupied" and so on.
When new announcement comes it shows the mark of the category on the main screen, just like reports do. Then you could check the announcement screen, where it shows how many new announcements are in each category. When you select the category it will show either the messages of that category or a list of sub-categories, which works just like the list of main categories.
Now, after the announcements are divided in categories, a player could choose which announcement categories are brought to the lower section of the main game screen. It could be set in init or inside the game. This way the player usually sees only the important announcements (dangerous terrain, new mandate etc.) but can still have an access to all announcements. Right now, if you want to filter out the spam, you have to basically turn all cancellations off. And then you don't have a clue why something was cancelled and when, unless you check the log file which is quite tedious to do.