Quick update: the bike runs, and the problem was fuel. Specifically, throttle bodies or injectors.
After a lot of work and time, it turns out that none of the things that were apparently the problem were. After my almost giving up, we pulled the valve cover and timing chain and timed the cams with a degree wheel (thanks again to Cloner over @ Desert Desmo. When we did that, they were definitely timed right.
We’d previously got to the point where the cams were suspect due to a poor (85 psi — but identical on all cylinders) compression result paired with a really good leakdown. That, combined with the power and way it was delivering it and the fact that there’s assorted race parts in the machine led everyone to suspecting the timing. Once that was verified correct (and not just off the timing marks), Cloner redid the compression test and the numbers turned out to be 145, and within a couple of PSI on all cylinders. Since we’re at 6,000′, that’s a solid number. After all the chasing around on the timing (and, admittedly, finding some wear issues in the cam drives) finding the compression was good was both a relief and a frustration. We were back to fuel or spark.
There’s been some stages of the saga missed on here, but with new spark plugs and coils, spark seemed unlikely. The pump had been replaced AND the replacement checked (though the old one is now in another bike, and was just fine) and was making the requisite 3 bar. Since I’d picked up a spare set of TBs, and the bike was torn down — swapping them out seemed like it just made sense.
That done, there was the fun of test riding race bikes in the dark on suburban streets on the ToP SeKriT Desert Desmo Test track. The butt dyno said this was not 60hp, and that was probably the first encouraging sign I’ve had in a while (apart from ‘we’ve found something that might be an issue’.
So it was back to the dyno, where the bike was making 106hp without mapping. Time to get it to the track!