I put an engine together long ago that wouldn't go past 3000. Turns out it was pistons hitting valve that I didn't check after installing a bigger cam. I don't know if your new heads change how close the pistons come to the valves, or if you checked that. My little engine had an unfortunate demise as I was trying to figure out why it wouldn't go past 3k.