So I've got a bit of rust. I paint over it with the BMW colour and finish, but after a winter, the paint comes off, and the rust returns.

I saw chemicals at Canadian Tire that claim to turn the rust into oblivion (into a base coat rather). Is that reliable info or just marketing hogwash ?

Is it better to sand the rust down to the bare metal, or else ?