Slant Six Won't Rev over 3500 RPM

Well, the Flying Valiant is flying again, sort of. I've got it running and driving, and I've clocked a little over 600 miles on it sorting out bugs. We're trying to drive it from Gainesville, FL to Carlisle in five days, and while they engine has been running great, I can't for the life of me get it to rev above 3500 RPM. It acts like there's a stop in the engine and just sits at 3500 in first. Sometimes it will sputter and after a while it will buck and I'll back it down. Here's the specs:

1964 Valiant, 1974 225 bored .060 over.
Ported, polished head with the enginebldr valves, hardened seats, and .100" planed off the head.
Offy 4bbl intake with Eddy 1403 500CFM set one stage lean on power and cruise modes, but it's been giving me trouble at just about any rod jet and spring combo I throw at it.
Recurved electronic distributor
Dual Dutra Duals
Erson 280/270 cam
HEI system with Mallory Promaster 29440 coil
Stock fuel pump and filter on 5/16"

We've tried just about every lean combo on the tuning chart. We couldn't get it above 3200 RPM initially, but we set the plunger to the lean setting and put the weakest springs in the carb and we were able to get it to creep up to 3500.

I've adjusted the timing from everything form 10° advance to 30° advance, and that seems to make no difference. Vacuum advance on the car seems to have suction.

I have an o2 sensor and gauge, but it's the Westach needle gauge and a one wire o2 sensor and it's all over the place. I think the sensor might be fouled because the car was running super rich at stock settings which is why we've stuck to lean testing. It still puts out a puff of black smoke on initial startup, but that goes away at idle and friends watching the car haven't seen any black smoke while I was driving it.

Any ideas?