I bought my 8 month old 320si (which has big alloys with lots of gaps to see the surface rust on the disc hubs) a few weeks ago being fully aware of the surface rust issue, I had a similar problem with my E46 320d sport a few years ago which appeared after a few winter months (road salt).
I've worked on Gas Turbine test beds which had frames sitting outside in all weathers and we used an RS product called cold galvanizing spray paint (silvery grey) which stood up to high temps and all weathers.
I went looking for this type of spray a week ago but came across a can of spray paint by Plasticote called No rust in matt aluminium colour in Halfords for just over a fiver.
Due to the wind last week I didn't want to spray the hubs so sprayed some of the paint into a can lid and used a brush to apply (its quite thin paint but gives good cover) not having alot of time I just overpainted the surface rust as directed on the can I do intend to carry out a proper rub down and spray in a few weeks time though. I've now done a couple of hundred miles in wet conditions and keep inspecting the hubs. I know its early days but the paint appears to be doing a good job and looks exactly like the original colour. I will update the thread with good or bad news as the miles rack up. The only car I've owned which hasn't suffered this corrosion issue is my other car which has ceramic discs mounted on stainless steel hubs!