I believe the average dealer will charge a good deal less than $90-$100 an hour depending on the location.
I recently had the head gasket replaced in my '91 300E by Schumuacher European Motors in Scottsdale, AZ. The cost was $1,140 for labor and $148.52 for the gasket set. They did a superb job and gave me a rental car while they had mine.
Anti-freeze and the cleaner they used to get rid of the oil in the coolant was a few bucks more.
The M104 engine might be a bit more costly.