Why did you take the car to the mechanic? Do you know how he arrived at that conclusion? Maybe you need to find a mechanic who is familiar with EFI systems.
A defective coolant temp sensor could cause the ECU to think the engine is always cold and that will cause it to richen the mixture and retard the ignition timing, I believe that ECU also gets a "start" signal from the ignition switch, if that were active when it shouldn't be it could be another cause of both symptoms.