I would also go to edmunds.com and use their new car buying guide. This will give you the True Market Value of the car you're after.
They have it down pretty good IMHO. It worked when I bought my Yukon in 02.
Do you have a trade-in? If so, know the trade-in value from Edmunds.
When I bought my Yukon, I researched what car I wanted and what they had on the lot. I went and looked at cars when they were closed so as to get a feel for the 2 or 3 I wanted to deal on.
Then I went to the dealer with all this research data in a big folder, they new I was no pushover.
What really got them was I told the salesman that I didn't want a test drive, maybe later after we agreed on a price. I also told him that I was ready to deal and he was my first choice. I gave him one hour to make it happen.
I guess I was ready to be an @sshole, but he came up with a good deal and he wasn't a bad guy. turns out he lives a block away and he told me after that it freaked him out that I didn't want a test drive!
Buying a BMW may not be so easy as a common GM product, you have to remember they are pros and your not and a 325 is a hot commodity.
Do not start with a 28K offer, they will not take you serious.
GM, Ford, Toyota etc.have a dealer holdback program which gives the dealer a 1 or 2 percent discount on their invoice if they sell the car within 30 days or so. This is how some dealers offer cars at their invoice.
Last time I checked BMW did not have a holdback program. The cars sell themselves. Edmunds.com will tell you if they have a holdback.
02 GMC Yukon SLT 5.3
02 Ninja ZX9R