Like enzo said, it is very important that you decongest the breathing for your car. Intake, Cat-back exhaust, and a Header would all be good investments and would work together to aid you in your quest for performance.
Also as enzo said, a turbo is a good idea if you want a good amount of power. You can run about 6 psi of boost safely on a stock block. If you plan on running more than that, it is necessary to build up your bottom end so it can handle the added stress of a high pressure turbo application. You would need to replace your conecting rods with stronger components and replace your stock pistons with lower compression pistons. If you run a turbo application, it is necessary to invest in a turbo timer. What this does is allow the engine to idle for 1-9 minutes (usually, and is user selecetable) to allow the oil to cool so it does not cook in your turbo.
You could also consider running an NA (natrually aspirated) setup. For an NA setup you would need to upgrade your cams, pistons, c-rods, and port and polish your head. The breathing is also important, if not more, in an NA application. Instead of lowering the compression ratio as in a turbo application, you would be raising it to somewhere around 11.0:1.
One of the best BMW tuners is Dinan.
http://www.diananbmw.com
You also might want to check out
http://wwwbimmer.org
It is another BMW message board and is more active than this one.