I'm a mechanic and software guy. Your theory is incorrect. German parts and labor generally cost more. Mostly due to complexity. An S-Class has more on-board electronics than the average Boeing. They begin to have issues after the 2 year mark and are not cheap to fix. Even if you have your own shop and parts. The 325 you had is a simpler BWM that did not carry such complexity.
I'm not saying you are wrong; the new cars might well be way more complex in ways that might cause people to spend more time troubleshooting, I wouldn't know.
I haven't dealt with anything really more complex than the early 'aughts toyota... at least up until that point, the electronics made it way easier for a shadetree mechanic like me to solve problems. There's all sorts of ways to get diagnostic codes out of the thing; on the bmw, you did this dance where you turned it on, then floored the gas a certain number of times, and then the 'check engine' light would tap out a code you could look up in the manual, just like beep codes on a motherboard. On my Toyota, I hook up the OBD thing and it gives me a code I can plug into google and get youtube videos of how to fix it. I've never dealt with an electrical problem more complex than one of the the (what do you call them? the short wire things that go from the coils to the spark plugs on the bmw) going out of spec in terms of resistance, but that was pretty easy to diagnose with the manual and multimeter.
But if it really is the complexity that creates the cost, why was it so expensive to pay someone else to service my simple 325is?
Factors such as location, brand, and demand are important. Fixing BMWs is generally more complex than fixing a comparable Japanese or American model due to specialty tools, software, and complexity. Their wiring system is closer to what you'd find on a data center than what you'd find on the typical car.
I currently still turn wrenches as a hobby and work on higher end Euro cars (Ferrari, Porsche, etc.) and it only gets worse. :)