You gotta ask yourself what you want out of a vehicle. The way I see it, there are two kinds of motorists, people who like cars, and people who like trucks/SUVs.
If you need utility, have to tow something, carry a lot of passengers, or just like to sit up high in a big vehicle, then get the Denali. As far as SUV's go, no one can argue that it isnt a nice ride.
But if you like to drive, really drive, drive something quick and agile, something that feels like an extension of your body, something that is the ultimate combination of sport, luxury and quality, then a BMW is worth every penny.
I've had my 02 330i for almost a year now and it certainly hasnt got old for me, everyday I still look for an excuse to go somewhere, just so I can jump in that car. I bought mine when it was a year old and saved about 10 grand. I dont know what kind of discounts there are on new, but I've heard the markup and discounts are tighter than on american cars.
Happy motoring!