My 2003 Dodge Stratus bucked at 35mph had a blinking engine light that went solid. It had been choaking a little previous but never stalled out. The engine light went out but I took it to a mechanic anyway. Mechanic says I have a serious engine problem and need a new engine or new car. It's running fine now. 177k miles. Do they know the engine is going out? Or is this a misdiagnosis?
You need a new mechanic. His job is to diagnose it and fix it. If he can't do that, the next thing is to tell you to get a new car or a new engine.
A flashing Check Engine light means way too much raw fuel is going into the exhaust system and is going to damage the expensive catalytic converter unless you stop driving right away. Once that light came on, flashing or steady, there is a diagnostic fault code stored in the Engine Computer related to whatever the computer detected. You need to have that code read to know where to start. Many auto parts stores will do that for you for free. You can also do that on Chrysler products by cycling the ignition switch from "off" to "run" three times within five seconds without cranking the engine, then watch for the code numbers to display in the odometer display. Holler back with those numbers.