maybe i drive the wrong car then when its standard to lowball trade-in values on BMWs. im definiltey not about that culture especially when there is a clear difference between trade and suggested retail.

i can understand there has to be some give and im all for it in negotiating. but to say, hey, its a bmw so im going to give you at least 3K less than trade in value so i can sell it for at least a 7K profit. it makes no sense. and this was at a bmw dealer.
its not like i was going to buy another 3 series. i was buying a M3 which has a higher cost anyways.

i traded in an 08 civic si with 70k on it for 13500 when bb trade in was 13500. 0 haggle. just hey it says ur car is worth this so here you go. i doubt im being unreasonable at all.

You're also assuming a dealer flips every trade in for a profit. Most trades end up going to auction. If a dealer does keep a car, they have to deal with reconditioning and holding costs. When a dealer takes in a trade it's basically dead money because the car isn't generating a profit until it's sold. Because of this, each dealer has a set risk tolerance towards trades, so the way they evaluate cars can vary.

Think about it from their perspective. If a dealer gives you a bad offer, what's the worse case? You walk. Best case? You still want a specific car on their lot and will make it happen. For every person like you who recognizes the true value of your car (and walk), there are 5-10 people who don't have the energy, idle cash or knowledge to sell their car privately. So they take what they can get.

I don't think you're being unreasonable, but, for the most part, low offers are the norm. Your civic experience was an anomaly. The question usually isn't whether you'll get lowballed, it's by how much.

The only thing I can think of is to find a dealer with a larger pre-owned inventory as they might be more trade friendly.

TL;DR Dealers have their reasons for making bad offers. Good luck with the M3 purchase.