If you have a 2.0L Z3, then you have the M52TUB20 engine, with an accelerator cable. The throttle body is called an MDK and has both the pedal and throttle position sensors in it.
The rev's jumping/sticking at those high values tend to indicate a throttle body problem. The engine computer (DME) trouble codes will tell you if its a MDK problem.
I'm currently in the middle of writing a DIY (mini novel) on how to diagnoses and fix the MDK. Got my 2.0L Z3 back together yesterday and the MDK is good to go.
Whoever gets to do the diagnosis needs to have a good scanner with BMW software. INPA is very good. It needs to give the freeze frame data for each BMW special MDK fault code. That is where the real clues on how to fix the MDK lie.
Hope the MDK can be repaired, they are expensive to buy new.