There are a lot of threads on this (non of which I can find right now), especially on performance oriented forums like 1 series and 3 series.
My understanding is that oil temperature (indicated by the dial under the tach) and water temperature are the causes of limp mode. For the oil temp, ~290F is the start of limp mode and there is power reduction before that.
The cooling systems on the 35i models and Z4 35is can be overwhelmed even with street driving so I don't think anything is "wrong" other insufficient cooling from the factory relative to the 1M and 335is.
This was a disappointing finding for me as well.