I'd check the ball joints and wheel suspension. The sensor is just a magnet in a little capsule that senses a toothed wheel - if it's coated with rust and road dirt it won't get a good reading from the toothed wheel in the hub. Then you'll get ABS warning lights. BMW does have a way of troubleshooting those, but you can usually get them to work with a good cleaning. Be careful not to stretch or break the sensor wire - it can't easily be repaired. Those sensors are usually a real PITA to get out of the steering knuckle - they tend to get rusted in a bit.
I'd jack the car up securely, then grab the wheel in your hands. Try to shake it side-to-side and then again up-and-down. If the wheel moves any appreciable distance, you'll have to replace some parts. Side-to-side motion is usually a weak idler arm ball joint. Up and down usually means the control arm ball joint is worn. Both usually means a worn wheel bearing.