I have no experience of this, but have read many posts, and the Honda Service Manual.
I can offer some observations.
Code 25 indicates a knock sensor fault. Which one is unclear. I have a hand written note in my manual that I have read reports that fault codes for 25 and 26 have the left/right knock sensor confused. So check connectors to both.
3900 rpm for more than 10 seconds is the rate at which the system detects a fault in the knock sensors according to HSM.
The pre-amble to the FI section describes what happens when a fault is detected, the ECM uses pre-stored values ( rather than relying on info from the sensor) so that the engine can continue to run. The fault table shows that when faults 25/26 are reported the engine runs normally.
Pre 2008 models seem to be tuned to run on a weak fuel mixture. It knocks / pinks / pings lightly under load and hard acceleration. It says this is normal in the handbook, and my 2006 did it from new. However I found it got very much worse if the engine was hot, with certain fuels and with fuels containing any ethanol. I also found that it was better with 5w-40 / 10w-40 fully synth oil. 30 grade was much too thin when the engine got hot, and made the engine hotter and resulted in more engine knock.
(nb old dirty plugs can also cause knocking carbon build up can glow red hot which ignites the fuel mixture too early)
I wondered if your engine was actually knocking? Give it a treat and put a few tankfuls of high octane, zero ethanol fuel in there and put in some high quality fully synth oil. Also check out your air filter. Put in some injector cleaner in the fuel for a couple of tanks.
Do the checks on the sensors and the wiring, but if your engine isn't knocking, or you can eliminate the knocking in the way that I did, then maybe spending a fortune on a new ECM in the hope that it will cure the issue is a bit risky. The ECM 's stored values seem to be doing the job in keeping the engine running well. The idea of having the sensors is that if they detect engine knock, then the ECM can adjust settings to compensate. eg retard the ignition slightly, increase the fuel:air ratio slightly. If it isn't actually knocking, then the engine is running fine. On mine, the knock was nothing like the sound of a knock. It was more like the sound of a bunch of keys rattling in the fairing pocket. High pitched and always there tinkling away in the background when accelerating hard with a warmed engine.
As I say, I have no experience of the fault codes, but If the engine isn't actually knocking, then the fact that the sensors were not working to detect a knock wouldn't bother me unduly.
It would be interesting to get comments from someone who actually knows what they are talking about though - ie not me.