Auto Zone has one for under $20............
I was on a trip earlier this year, and stayed at a hotel in Boise... When I came out in the morning, I found that some sub-optimal-person had stolen my OEM antenna. I remembered this post, and found a universal replacement at Autozone for about $12. I think the $20 version has a faux carbon fiber look. Woo. In any case the universal antenna did fit, although it has a wider diameter than the BMW antenna base, and so it doesn't look quite right. I can't speak to function because I don't listen to terrestrial radio.
I bought the Craven Speed replacement when I returned home from my trip, and it fits better and looks better than the Autozone item.
As an aside, on the very next evening, at another hotel in Oregon, somebody took a key and gouged a 3-inch mark on my color-matched tailcase. I wish there was a $25 fix for THAT!