Sounds like it is not shifting out. Did you completely disassemble the primary sheave and clean and regrease the tracks and rollers (assuming it is stock)? If not, there could be crap at the end of the tracks preventing the rollers from sliding out all the way. The only ways it will top out at that speed is if you're in low gear, or if the belt ratio is not changing properly, or if you are just lacking engine power. But you said it runs fine up to 38, so that makes me think it is just not shifting out properly. If it isn't crap in the tracks, then could be the clutch slipping, but you would have noticed that on the bottom end, so it can't be that. Grease on the belt would behave the same way as a clutch slipping, so again, you would notice it on the bottom end. The only thing that makes sense here is that the tracks are full of crap.
EDIT:
LOL looks like Todd beat me to the primary while I was typing hahaha!