First, don't over analyze this situation. The expansion tank on our cars are known to crack as they age due simply to, well, age really. (There are more detailed reasons but it all ends up in the same place: it got old, brittle, and broke.) You didn't cause the problem, it's just a common issue as E46's get older.
It's not a big do-it-yourself job if you want to give it a shot yourself since you are limited on funds. If you must take it to a mechanic, expect to pay for 2 or 3 hours of labor tops, and parts costs include the replacement plastic tank and a gallon of coolant. Use the bimmerfest "search" function for "expansion tank DIY" and you should find numerous threads describing how to do it.
You should do a cooling system overhaul but it's not required -- just very, very good preventive maintenance. I replaced my coolant expansion tank about 20,000 miles ago but everything else is okay. That said I have all the other cooling parts on a shelf awaiting installation.
Don't panic. This is not a big deal. But don't drive the car if you can help it. Do not use "stop leak" additives though, that will not solve this issue and it WILL introduce more problems down the road.
Originally Posted by Fast Bob
...the last thing you need is unpredictable rubber
Last edited by numindast; 11-16-2012 at 08:35 AM.