Okay, i started a fort out-of-doors. Since i want the dwarves to clean the butcher shops(avoid cluttering), i allow them to gather refuse from outside.
Then suddenly they start hauling ass all over the map, where some troglodytes/batmen are killing critters.
Initially there was three dead bats which i tracked down from the stocks menu.
At this point i don't wish to forbid the bat remains, since it seems like a hassle to do manually. Also i'm sure that there will be more bats and critters killed in due time.
I decide to take a different sort of action, and go into the refuse orders menu. So, initially i forbade only non-economic refuse to be gathered(i.e. chunks, remains etc i should think). The remainder was to be dumped, which wasn't a problem since i don't have a dump. They should leave the stuff alone then, right?
No dice. They still even after being recruited so they'd forget about it, went for those remains.
Still going back there, i forbid ALL refuse hauling. Cancelling orders, not helping. They still go back.
What follows are 15 minutes of skirmishes with troglodytes, recruiting and tantrums. The dwarves only lived since they're really modded into lizardmen, but this should have small impact on the problem at hand.
Long story short, none of those who set out to get the bats, ever got to them before facing a monster and fleeing/being recruited, kicking ass, and forgetting about it.
After all the batmen and troglodytes were dead though, they still craved and hunted down those bat remains. So, after all this time, the first of four of my starting seven reaches his prize...
Aaaand, decides he doesn't really want it, since the refuse orders forbid gathering bat remains.
Seems to me that this thing is unintended, and would swiftly have killed of a normal player's dwarves, if he did not manually forbid these remains, or manually forbade his dwarves to gather refuse in the labors menu.
It'd be nice if new refuse orders looped through all tasks/items at hand and modified them accordingly.
Also, I'd like to make a complaint about forbidding 'ammo'. I think it's great for bolts, but not other weapons. Maybe you could make an item-check to see if the item is a projectile?
The code as it stands does not only forbid crossbow bolts lost on the map or stuck in critters, but also stuck-in spears and probably also pick-axes and any other weapon capable of sticking.
As i don't like crossbows my hunters use wooden spears(modded, add [RANGED:SPEAR:BOLT]) in hunting, and they're frequently hunting with {forbidden} weapons. As soon as they lose grip of them, they have to be reclaimed to be used again. Spears frequently get stuck-in, and are mostly successfully retrieved by the hunter. It's however not unusual for a hunter to lose the weapon, gladly leaving the forbidden item behind.
Even if the hunter is equipped with two of them, and there are spare ones at home, they are lost at an alarming pace. I had one hunter attacking a deer, and lost both spears to stuckins, and the animal made off with them, hunter in tow.
I'd like to see this whole indoor/outdoor thing revamped as well. It'd be nice if we had some form of zone called 'living space' or something like that. It would replace in/out-space, with respects to moving refuse and seeking refuge. This would mean that you could choose to ask dwarves to clean out-door butcher shops without running off to collect critter remains killed by hostile creatures.
Or for that matter, uninhabited indoor spaces would also not be cleaned if it's not neccecary. Say cat-killed cave spiders deep into the mining tunnels etc. Or trog-killed cave spiders.
This recruiting business is also sketchy. It'd be nice if a forbidden process in action told concerned dwarves about it, so they could stop. Hunting, fishing and hauling in particular are actions you have to frequently stop by recruiting.