All interest paid by all shorts is shared by all USD equally.
What's to stop someone from taking both sides of the trade, shorting and buying into their own short, essentially entering into a 100% hedge which pays yield with no risk?
So if I understand what you are saying correctly, you are saying that any time there is an opportunity to match your own short (without eating up other people's BitUSD sells in the process) at 0% interest you should take it, since there is no downside possible. You just need to cover your own short with the BitUSD you hold before 30 days and you will not lose/gain any BTS due to price changes in BTS. However, you could potentially collect extra BitUSD at the end of this process because of yield earned on the BitUSD you held over the 30 day period.
Now, if you could only match your short at some positive interest rate, it is no longer a sure thing. You have to bet that the total yield you will receive over the N blocks (where N < 259200 = 30 days / 10 seconds) from when your short is matched until when you cover is greater than the total interest you need to pay over the same N blocks. The total interest you will pay while your matched short position exists, I(N), can be known prior to even submitting the short order (assuming your short does match). However, the yield you receive over the same period of time Y(N) is not possible to know exactly. You want to submit your short order and match it (assuming again you can match it without buying up other people's BitUSD sell orders in the process) if you believe I(N) < Y(N) for some N < 259200. If you are wrong about this, you will actually lose money.
The big problem with all of this comes from the way the yield is calculated currently. It is estimate the yield your BitUSD balance will get over 30 days with decent accuracy. While it is in theory possible that all other BitUSD balances will suddenly claim their yields before you do in the 30 day period, leaving you with very little yield left, you can safely assume that yield claims will be uniformly distributed throughout the year. That allows you to determine a very good estimate of Y(N) for 1 < N < 259200, and therefore decide whether it is worth it given the interest you would have to pay.
I do not think the solution to this is to destroy the fungibility of BitAssets. I think the solution is to have a better implementation of BitAsset yields. The yields for a BitAsset balance should always be known exactly (not estimated) and should be monotonically increasing (not necessarily strictly) over time. The order in which yields for BitUSD balances are claimed should not effect the yield of all other BitUSD balances (and same for all other BitAssets). Yields should be paid out of a yield pool. The amount of funds that move into the yield pool every block is enough to satisfy the target interest rate at that moment for all outstanding BitAssets (all BitAssets that are allowed to collect yield which does not include the BitAssets stored in the yield fund or the other reserve that feeds into the yield fund at the target rate). The target interest rate can change from block to block depending on the amount of BitAssets in the reserve pool compared to the amount of outstanding BitAssets that can collect yield, as well as other factors.
I believe an implementation of yield as described above not only makes yield more fair than the current system for BitAsset holders, but also makes it difficult for people to estimate Y(N), since it is hard to predict how the supply of BitAssets may change in the near future (existing shorts can be covered and new open short orders could be matched at any time) and how the market short interest rate will change in the near future (information from short interest changes should propagate very quickly to the target yield rate, meaning the DAC should collect short interest continuously and feed that into the reserve pool so that the target interest rate can adjust quickly based on that new information). So the attack you brought up (I hesitate to really even call it an attack) would become more of a gamble and thus not really an attack.