The main problem is that the blockchain (as designed) will exist publicly forever. That means analysis tools will get more and more sophisticated and any leaks of information will be immediately aggregated and used to identify controllers of addresses. I predict that in the future as these tools get better most mixed transactions from the past will be completely transparent.
If I meet someone at a meetup and hand him $1000 cash and he sends 4 coins to my address, then nothing links me to those coins. However once I spend them and gain value (goods, services, etc) then any little bit of leakage of data (e.g. a shipping address, etc) will immediately link me to that original 4 bitcoin transaction.