My theory on the origin of the z3 2.3 denomination: When BMW was forced to shift over to OBDII engine management (more restrictive on emissions, harder to tune, and resulting in less hp out of the same displacement) in 1996, they replaced their M50 engines with the 2.5 liter with a 2.8 liter that increased nominal crank hp from 189 to 190. They also introduced a different 2.5 liter m52 with a nominal crank output of 170 hp. I believe BMW decided to use the _23 suffix for their E39 and E36 cars with the smaller displacement to differentiate it from the existing models that had a _25 suffix. SO I guess in a weird turn of events, when they slapped in the M52B25TU engine into the z3, they decided to go with 2.3, since they already had all these _23 cars and because the z3 2.8 would appear to the untrained eye to be much more powerful when weighed against a 2.3 instead of a 2.5.
This is all speculation on my part, though
