Probably because you're not giving the traders any good deals. Traders will bring less valuable stuff if they're not getting good deals. Try offering them a bin or two of useless (your stone/shell/bone here) mugs, and they'll start bringing more valuable items.
But then again, they are elves. Actually, don't offer them bins, because they'll have a shit fit.
I frequently send traders away with massive profits and I still don't get animals from the elves. I think there's a different explanation. I submit the following...
Lets say the Elves show up with these goods
1 caged rat
1 caged bear
1 caged deer
4 bins of cloth (40 bits of cloth total)
2 wooden toys
3 logs
10 bundles of plants (50 plants)
You buy them out completely. The elves get back and say to themselves, "Gee, the little buggers bought forty pieces of cloth and fifty plants! Lets bring more of those! Shame they only bought three of our delicious tamed animals. Lets not bring any more of those."
Anyone whose had a long-running fort knows that when you buy a lot of something, the merchants tend to bring more. My theory is that the AI sees a bin of cloth (for example) as ten items. Buy three bins of cloth and you just bought 30 cloth. Buy 3 tame animals and you've only bought 3 tame animals. If the AI detects that something is being bought at a rate of 10 to 1 it's going to bring more of the supposedely sought after good.
Admittedly it's a guess, but I think the logic is sound.