I am having the exact same problem with my 94 m42. I replaced the TPS, took the intake manifold off, cleaned everything including the Idle control valve and mass air sensor. Ran down every wire to look for bends cuts or whatever. I still does the same thing. If I run the car at a set speed for about 45 seconds the check light comes on and it throws a 1216 error. If I let off the gas or speed up the light goes off. I am stumped.