I'd highly recommend running the quick test in my previous post. It's free and is super easy - no tools, no need to get on your back, no jacking up the car, no taking anything apart. The most difficult part is probably trying to figure out where the EGR valve is and waiting 5 mins for a warm engine.
I'd hate for you to have to spend more money on something you possibly don't need. If the test above passes the do get a new ECU; although your mechanic cleaned it twice he may have not cleaned to good enough. Ask him how he determines the port is clean. The test above is the only way I know.
Per the manual the ecu has a couple monitors to figure if the EGR components are working. First it figures when to "Recircuilate the Exhaust Gas" to the intake. Then there's a logic check, to determine if the valve physically moved because it works off a solenoid valve and vacuum (p1491/p1491). Then via the MAP sensor it figures if the event really happend. If the Map sensor was flakey/dead you'd get a (p0107, p0108, p1128, p1129). If the ecu was bad (had a bad input/output pin) then you would probably get one of these other codes too.