Rob, that rev "limited" issue looks similar to the coil problem I had years ago. You see, when the coil heats up, it stops functioning. Mine was 3K rpm then. Would work well cold, then the car practically died and when I left it for 15 mins, it was fine again. In my case, I was in the race track, the car stopped twice at the same spot, then I limped back to the pits and got a tech to look at it. Yes, it was the Coil ok. Put in an Alfa Romeo coil and it worked better. My ignition cables were also going south then as it gave the Tech a nasty shock when he was poking around the top of the cylinder head. I got new BMW coil and Ignition wires and the car ran fine after that. Sure was a tricky one and not a usual suspect.
Your engine is M20B25 right ?.