since you have a scanner that can scan for codes, does it have the ability to look at the data stream? the code P0641 is telling you that you have lost the 5 volt reference signal to a circuit. If it starts when you unplug the MAP, that could well be your problem. Running your engine without the map will turn the check engine light on and run on limp in mode. Check the connector terminals to the map sensor for having 5 volt reference when it is unplugged from the sensor. check that same wire for 5 volts when you plug the connector onto the map. Does it still have 5 volts or does the voltage drop down? If it drops down (lowering the reference voltage) it will affect every other sensor on that circuit.