Not 100% sure, but I think it's the same type speedo/odo as the E30, a VERY common problem is that one of the plastic/nylon odometer gears breaks or strips and the odometer no longer works.
The speedo is electric- driven from a signal off the diff sensor, then the odometer is mechanically driven off the speedo thru a series of small gears.
Repair options are:
1- used speedo/odo, might last 1 mile, might last 100k. Cost- $50-75 or so.
(a new speedo/odo is ~$400 BMW list price!!)
2- send speedo off to repair shop- cost ~$100 or more.
3- buy odometer gears and replace yourself- cost ~$30 or so, plus your time. I've heard quite a few people who have had success with this- but it takes patience and a delicate touch. www.odometergears.com used to sell them BMW gears- they also have some good info on how to determine which gear is broken.
Bret.