I took over payments for my father for an E46 323i. It was bought used (from a Toyota dealership

), but my dad had purchased the extended warranty.
Here is the problem. It seems to happen randomly, mostly when the car has been driven on/off for awhile when it's very hot outside (the engine stays in between Cold and Hot).
The car will either:
1) Not turn over when cranking
2) The engine turns over, but if not revved past 2000, it will die (this sucks because in order to drive the car, I have to keep it above 2000rpm at stops or else it will die)
3) The engine turns over, idles fine, but performance REALLY SUCKS. Partial throttle or Full throttle in any gear (1-5) results in the car BARELY accelerating (the tach moves up VERY slowly).
When either of these 3 things happen, the Service Engine Light turns on. It stays on for a few days, then disappears. Then when the problems repeat, it comes back on again.
I have taken in to Toyota's Used Car Service department. They said they scanned the codes and nothing showed up. They said that the Service Engine Light doesn't mean something is wrong w/the car (even though I insisted it only comes on when any of those 3 problems happen)... and that it only comes on when it's time for an oil change or maintenance work. Then they said that they drove it around all day and couldn't duplicate any of my problems. So they made me pick up the car. Low and behold, the minute I get home from picking up the car, I turn off the engine, wait a few seconds, then try to start it again. It happens again.
What can I do???