Offsets have nothing to do with the fact that BMW's are front engine/rwd. It mostly has to do with suspension geometry, and the cars dimensions. Pushing the hubs out further to the width of the car allows for longer suspension arms/linkages, which allow for a more linear wheel path under suspension movement. By pushing out the hubs further you need a higher offset wheel to keep the wheels under the fenders. With the e46 M3 and ZM3 the rear fenders are wider, so a lower offset can be used. A high offset is important to prevent bump steer. You basically want the front ball joint to be placed at the centerline of the front wheel, so when you turn the steering wheels, the wheels are pivoting centered on the ball joints axis, as opposed to arcing. E28, E34, I think E32 and other larger cars have a lower offset wheel, but the front wheels pivot on a 'virtual pivot point' using two closely placed lower ball joints with the machpherson strut, so they still pivot along the centerline of the wheel.
Also, as a note, on most 3-series a lower offset with lead to a couple issues. You'll either rub the outer fender lip, need a lot of negative camber to compensate, and wear though suspension bushings and ball joints faster thanks to the added leverage the wheels are putting on the suspenion.
"Driving is like a narcotic, an addiction that can take over lives. It ruins people, breaks families apart, and even kills. Itís habit that needs to be fueled. Time, money, rationality, sweat, knuckle skin, and anyone who disapproves are of little importance to a driver, and are often overlooked. Hi, Iím Nelson, and Iím a drivaholic."