I have a thought about this...

Have you verified timing to be correct? That what is being commanded is what is actually happening referencing crank angle, at RPM, I know without a dyno under load...