EML+DSC(ASC) light comes on when the throttle body get stuck. Cheapest way to fix it is 'Throttle body cleaner'. 3M has pretty good throttle body cleaner, get one..
And as far as I know, normal 3' model doesn't have Throttle Position Sensor. I assume e46 3's TB work mechanically, not electronically..Cuz there's no sensor to control that thing!!