Those are dealer prices - and they always recommend it sooner then needed honestly. I took my dad's 5 series in for service when the 'service indicator' had about 200 miles on it. The ca has ~ 40k miles on it and they put new pads and sensors (not rotors) on the front and rear, compliments of BMW Maintenance. I looked at his brakes when he brought the car in and they had plenty of meat left - but they don't risk anything and refresh pads way to soon. Not that I was going to stop them from putting in new pads for free
BMW branded parts are way over-priced as we know. BMW always changes the sensor for some reason.
Just out of curiosity - Bavauto.com - geniune parts
front rotors 154 each (308 a pair)
front pads 128
Hold down bold 2 each - need 4 (8)
Rear Rotors 90 (180 a pair)
Parts - $763, and maybe even more costly at the dealer. most likely they grabbed you for 4 hours labor (even though it takes them 1/2 of that), plus they might have replaced the caliper rattle clips for another 40 or 50 bucks, plus tax! They might have even tagged on 5 bucks for the anti-sqeal paste.
You could get a decent set of brakes for a low milage daily driver car from a local auto parts store for ~400 or less!
BTW - on my E46 - OEM brakes went at 41,000. I stuck auto-zone brakes on the car and I changed them out just over 100,000 with meat left but a caliper froze up so I just changed it all. The auto-zone brakes lasted at least 50% longer then oem!