Well, I went in.
Straight from BMW, the oil for all cars, all engines after 2004 is Castrol Edge 5w30, pre 2004 is 5w40 i think he said.
They only sell it by the litre though, so no use for me, but still, at least I have the exact spec.
I'll bet it's not all about the grades, as the majority of people in the know will tell you a range of different weights are possible, depending on temp ranges.
I'd have thought BMW changed the spec in '04 so they don't need to stock 15 different types...