Lambda codes are set when the O2 correction goes out-of-range.
In cases, like this, I would train my sights first on checking the MAF, and checking for air leaks(loose clamps, cracked boots or disconnected hose) and checking for leaks also in the intake manifold.
Correct any faults, Clear the codes and RETEST.
With some luck, the readings can be brought within range and u won't need new O2 sensors although BMW does recommend u replace them every 50,000miles.
Last edited by darkhorse737; 02-15-2010 at 10:36 PM.