Could be the engines ecu is limiting the revs, look for volts on the injectors when you rev it. If they cut out at a few thousand rpm there's your problem. Try resetting the ECU (just disconnecting the battery wont work) and see if it is fixed. If it overheated (for example) the ECU will remember it forever and stay in 'get you home' mode until properly reset. Mechanics and software engineers dont see eye to eye on how these things should work. If resetting the ECU doesnt work you need to read the fault codes and figure out whats wrong..
d, July 2009