Idle Pulse Width
You have to select your injectors based on the maximum horsepower your engine can produce to prevent the engine from running lean at wide open throttle. But why not just pick the biggest ones you can find?
The answer has to do with idle and cruise pulse widths. If you use very large injectors, your idle pulse widths get very short. This can drastically reduce the mixture ratio control that you have during idle and cruise situations, and lead to very poor driveability and seemingly strange tuning behavior.
To illustrate, suppose you have established that your engine produces the lowest MAP reading at an idle pulse widths of 1.2 milliseconds, and your opening time is 1.0 milliseconds (considered the 'standard opening time'). Recall that MegaSquirt can only change fuel by 0.1 milliseconds at a time.
And also recall that MegaSquirt assumes NO fuel is injected during opening (which is close to true, since the injectors remain closed until the coils charge, then they snap open at the end of the opening time). Now if the net effect of the enrichments change by 2%, the pulse widths don't change at all. Even if they change by 49%, nothing changes. But once they change by 50%, the pulse widths suddenly changes to 1.3 seconds.
So the next leaner possibility is 1.1 seconds, and the next richer is 1.3 seconds. However 1.3 milliseconds is not 1.3/1.2x100% = 8.3% richer, instead it is (1.3-1.0)/(1.2-1.0) = 50% richer! The mixture becomes very, very rich, and the engine runs poorly.
To confuse your tuning efforts further, it may be that you are already near a threshold, so that a small change in one parameter makes a very big change in the air/fuel ratio in one direction, but no difference at all in the other direction!
But doesn't the EGO correct? Actually, it can't. Even if you set the step size to 1%, nothing happens until the 50% (i.e. 1.3 milliseconds) threshold is reached. That is, the step size only takes effect once the 0.1 threshold of PW is reached. And if the number of ignition events between steps is large, the engine may stumble and die before it recovers and leans out. So in fact you may be better to set the O2 step high (50%), and the number of ignition events low (say 2) so that the average over just a few injections is correct. It is a band-aid approach, however, and likely to induce ignition related problems.
Obviously the converse is true if the engine goes lean. It has to go at least (1.1-1.0/(1.2-1.0)=50% lean before anything happens. If does go lean, it may back fire and die before it gets a chance to become richer.
You might think you can get around this by decreasing the injector opening time (to get a larger "adjustable time") and increasing the VE (or req_fuel), but that doesn't work because the 'ideal' injection time is still 1.2 seconds, and the permissible step is still 0.1msec, regardless of the way you add the components of the pulse width up.
And making matters worse is the fact that many high-performance engines will want even lower pulse widths at cruise than at idle, compounding the tuning problems and introducing more driveability issues. A system with a very short pulse widths like this will be difficult to tune. It will appear not to respond at all to enrichments over a certain range of a parameter (say IAT), then suddenly it will seem to change so drastically that you seem to require an entire new set tuning values.
Now even if your engines idles perfectly at a very low pulse widths, changing load, speed, and other variable (EGO, IAT, etc.) will demand slightly different air/fuel ratios. However, none of them are likely to need exactly the +50% you have to choose from!
This is why several aftermarket ECU manufacturers recommend an idle pulse widths of not lower than 1.7 milliseconds. If yours is lower than this, you need to address it before you will be able to tune your engine for all operating conditions. The high-resolution code, or lowered fuel pressure may help. Ultimately the best solutions are appropriately sized injectors or staged injectors.
http://www.megasquirt.info/