Here's a fairly simple suggestion (at least from the interface point of view, which is important) for a less exploitable crafting system. Not foolproof, I'm sure, but better.
Allow players who know a recipe to trade a useless placeholder item that looks like a pale greyscale of the real item and has some suitable name like 'Promise for Dusker Armor'. A player can only trade away one promise for each known recipe. Now, the next time the player crafts that item, instead of 'item moved to arsenal', it becomes, 'item moved to fulfill promise'. Also it would be wise to allow no more than 5 outstanding promises in any case (although at the moment I don't think any item has 5 stages of crafting! But assuming there will one day be some 1*->5* alchemy paths.)
Now, someone could still scam a little bit, but if they did, there'd be a clear 'promise' item to prove the purported crafter actually has the recipe in question, as well as an unfulfilled promise item to support a complaint with something more than a suggestive trade history to point at. And in any case, the would be scammer would have to get a recipe for each attempt and then soon be blocked anyway, even without staff intervention, which is an important consideration. We should want support staff to be able to get on with more important issues than policing juvenile scam attempts as much as possible, and when they are backlogged with juvenile scam attempts to discipline, we should want the scammers stopped anyway!
What's wrong with using currency as a placeholder?