On cold start the motor uses a fuel table to idle.. coolant temps, air intake temps, (and a few other parameters) are involved. This is open loop. Once the temps reach a certain level, or you start driving, the system goes into closed loop and uses the primary o2 sensor and MAF (plus others) to adjust the fuel trim. But from what you've replaced and tested, I'd say its not the o2 or MAF sensors.
From Hondata's website (Honda tuning site)
In closed loop operation the ECU uses one or more oxygen sensors as a feedback loop in order to adjust the fuel mixture. This gives the name ‘closed loop’ from the closed feedback loop. The ECU won’t run in a closed feedback loop all the time, so ‘open loop’ is used to describe the operation of the ECU when the mixture is not being adjusted in this way (usually when the engine is cold or when running under high load).
In closed loop operation the ECU uses the oxygen sensor to tell if the fuel mixture is rich or lean. However, due to the characteristics of the oxygen sensor it can’t tell exactly how rich or lean, it only knows that the mixture is richer or leaner than optimum. The ECU will enrich the mixture if the oxygen sensor shows that the mixture is lean, and lean the mixture if it looks rich. The result of this is that the mixture will swing back and forward around the stoichiometric point.
An old school way to check for vacuum leaks is to spray carb fluid (or something safer around sensors/gaskets) all around the areas you think might be the culprit. Not sure if you already tried that one.