I changed the heater core myself. If I remember right, the part was around $300. Shops will charge over $1000 to do the job since it's such a pain in the butt.
'07 335i/6 - Addicted to boost
'95 525 - money pit/daily driver
'90 525 S52, ERT Powerdyne Stage 2 Supercharger - parts car