How many miles on the drivetrain? Have you replaced either the chain or cassette without switching the other? (even just a little more wear on one vs. the other can cause skipping when under load)
I have seen guys change to a new freewheel, with a relatively new chain on race day. In testing on the trainer and in the parking lot warm up, no problems, but under race load it would skip.
Chains wear out, they need to be replaced, take it to the LBS and have them measure how much it has stretched.