Possibly worn out gears in your instrument cluster. Also check the fuses under the hood and clean the contacts in the fuse box. This will tell you a bit more.
Looks like 040304 is absolutely right. I do apologize for the confusion. I guess I need to check the model year a bit better. Anyhow, you could try by replacing the odometer coding plug. It appears that the BMW's do have a tendency of freezing up. European BMW's around 300,000KM. Check this site for more information. If you are very electronically incline and want to read more about repairing the instrument cluster, read on here. Of course, you could just replace it like 040304 suggested. Hope this clears it up, good luck.