I have an '05 X3 with 100,000 miles and also just had a code p0171 fixed this week. The car seemed to be running okay (normal acceleration and mpg), but did have a vacuum leak. The repair shop replaced the crankcase vent valve, throttle body gasket, oil seperator hose, and three breather hoses. I'm not sure if the service engine soon light will go off by itself without a reset from an OBD tool. I'm sure someone else can answer that one. Just FYI, the repair took 5 hours and set me back $690 at an indie shop.
2005 X3 3.0
1985 318i (retired)