I have the same problem
My '01 330ci does the same thing. It is most noticeable during easy driving and in the lower RPM ranges, and feels as though the engine has very little power. As the engine winds up, it is less noticeable, but feels like the car isn't pulling as hard as it used to.
I have already replaced the spark plugs, and this had zero effect on this problem. My car was produced prior to the date range for the ignition coil issue, so that's not likely to be it either. My SES light goes on and off intermittently, and I got an OBD II scanner which gave me an error to the effect of, "the coolant temperature is lower than the normal range." I don't know if it is related, but I don't think so.
When driving with the scanner attached, I get no additional codes, no misfires, and the O2 sensors appear to be working. They take a while to register on the unit, but eventually they report ok. What I didn't realize is that we have 4 o2 sensors in the car and they are > $100 apiece. I don't want to replace them unless I know that they are problematic.
I have read through these forums that there may be a problem with a vacuum leak in the oil separator, but I don't know how to test that. I tried removing my oil dipstick while the car was running to see if it was sucking air or made a noticeable change in the engine's sound. It seemed to run a little rough, and there was the faintest hint of air sucking in, but nothing that stood out as a major issue.
Has anyone else observed this issue, and if so, how did you fix it? Also, I have read that BMW doesn't report all issues through the OBDII connector - is this true, and is there a product I can get that will read out all of the information?
Thanks,
Phil
2001 330Ci