I can't imagine a motor running well at all if it's timed wrong; anything past a tooth or two would be a show stopper from what I've seen. Let's assume your mechanic was correct though; in that case, the timing belt has been done once already, and now twice, since presumably the factory didn't time the motor wrong - someone replacing the belt must have... unless it skipped teeth while you were using the motor.
What happened to the head gaskets?
Simplest theory I can come up with: Exhaust leak coupled with unplugged knock sensor and/or damaged knock sensor wiring would explain your symptoms. It may not be correct, but I'm at least 5,000 km away and it's my best shot in the dark right now...
You can check the timing for your self; this thread shows what to look for and in your case I'd just pull the side covers and rotate by hand and look.
Timing Belt and Water Pump Replacement
You don't have to do all that obviously; you just need to line up the marks and see what the belt is doing. Anyone that's a mechanic and awake though is unlikely to get this too wrong I'd hope.