The thing that sucks about the drive belt on an E46 is their is very little room to change it out. Its really a pain in the ass to get to the belt tensioner as you have barely enough room to get the 18mm socket on. Been there. However once off, it only takes about 10 minutes to swap, not counting the removal of the plastic skid plate, but that is 6 bolts and takes two minutes to remove. It all depends on the shop labour rate. If its a $100 an hour, and takes him 30 minutes thats $50 plus the belt itself.