The rattle you describe still makes me think you could have large amounts of air in the fuel system. Enough air can trigger a code. I wouldn't be surprised if the fault code you have is 0707 (injector pump timing) I think that code also comes up as P7 on some scan tools for some reason.
Unfortunately, that same code can also mean new injector pump time (as happened with mine) but if you DO find it's that code it would be worth putting some clear hose in place of your black flexible fuel lines to check for air bubbles in the fuel.
Other than that, I can't really help much. There are other guys on here with a lot more knowledge than me, so maybe someone else will have a better idea.