OK, I had to think hard before I shared this one but here goes. My 328i suffered from the dreaded spinning ignition lock syndrome, but the ignition lock still worked with the key fully inserted so I figured that it was better to fix it at my leisure than wait until I couldn't start or turn off the car/ remove the key.
I didn't like the idea of replacing the ignition barrel and winding up with an odd key and the hassel of getting it recoded so here is what I did AND it worked.
After disconnecting the battery and removing the upper and lower steering column shrouds, I pried off the little circular plastic ring antenna and removed the associated O-ring from around the outside of the ignition lock barrel.
With the master ignition key fully inserted, I then turned the key to position 1 ("Radio" position) and inserted a large paper clip into the little hole on the circumference of the ignition lock barrel. It takes a little bit of wiggling to get the paperclip fully inserted, but once it is done it retracts the retaining tongue on the lock barrel, which then comes straight out.
Once the barrel has been removed, look inside the housing where the barrel sits and at about the six o'clock position you will see a small notch on the inner circumference of the barrel, which will probably have some metal or plastic debris lodged in it. That "debris" is BMW's anti-theft tab, designed to break off if someone jams a screwdriver into the igniton and tries to start your car - since the screwdriver can't activate the ring antenna and most knowledgable car thieves use a slide hammer to pull the ignition barrel anyway, this feature seems a bit pointless and eventually winds up costing money and aggravation.
Carefully remove the debris from the slot (which is only about 0.8mm wide and 1.8mm deep). Next, carefuly examine the removed igniton barrel and locate the portion from where the tab has broken - it should be hard against the outer retaining collar of the lock barrel, almost exactly centred on a moulding line where the barrel was die cast during manufacture.
Now for the hard part - using a magnifying glass and a 1.5mm drill mounted in a pin vice, CAREFULLY drill a 3mm deep hole 1.5mm inboard of the boss on the outside of the barrel from where the tab has broken and EXACTLY on the original centre line. Make sure that you drill the hole square to both the centreline and axis of the ignition barrel. Next, buy a single 1.5 mm needle roller from a bearing shop (about 15 cents) and using a dremel grinding disk, cut it to 4.2mm - 4.5mm in length - needle rollers are high quality hardened steel and will make a very durable replacement for the broken die cast tab.
Insert the little piece of needle roller into the hole you have just drilled, leaving the original finished end of the roller pointing out and retain it in this position with a drop of Loctite 601 - make sure that the Loctite goes nowhere but into the hole you have drilled.
If completed correctly only 1.2mm - 1.5mm of the pin will be left protruding from the barrel after installation.
Now use a small needle file to carefully widen and deepen the little notch on the inside circumference of the housing to at least 1.5mm (to fit the needle roller).
Clean the inside of the housing carefully, then reinsert the repaired barrel into it being careful to ensure that the new pin is lined up with the notch. Push the barrel all the way into the housing with a plastic screwdriver handle until it clicks, which indicates that it has locked into position. Reassemble everything and you are done!
If you are a bit unsure whether you are capable of succesfully completing this repair, you have 2 alternatives:-
1. Don't attempt it - just go to a dealer and fork over the $120+ for the parts and hope that it doesn't happen again.
2. Realise that if it is already broken, the worst that can happen if you botch the job is that you will have to revert to option 1.
In these litigious times I must warn you that whilst the above information is an accurate account of the procedure I followed, I take no responsibility for anyone else's attempt at this procedure and resposibility for any associated risks is yours alone.