Do you have him waiting in a stand, sit or a down?
Downs or sits are usually easier to teach a dog to hold plus, though it may surprise you (because it did me!) they enable a dog to take off a lot faster than a wait from a stand.
My spaniel Sparrow has a normally very good wait, but when on the startline she starts to shuffle or try to take off before I am ready. So I am now working hard on this.
Firstly I put her in a down and I am reinforcing the wait, but walking away then going back and rewarding, then walk away, go back, etc. So she gets the idea that the wait is good, but also her reward for it is not necessarily starting the course.
Equally, I don't release her until I am happy with the position/wait she is in. So if she moves forward I replace her.
Next I am working on length of stay rather than the distance I can walk away from her (learned from my obedience class). At the moment I may not even go as far as the first obstacle before releasing her. I want that wait solid, the distance can come later. Being nearer means I can correct her faster and I reduce the risk of her breaking the wait and taking the first jump or obstacle and self-rewarding for the lapsed wait. I do vary distances, however, and also the side of the obstacle I walk off on.
I have a lot of work to do with Sparrow to get my waits solid and consistent, but it will be worth it in the end. Building them up slowly is the key. You could try working on waits with a single obstacle before testing them on a course-load of equipment.
Hope that helps, I am in the same boat as you at the moment and at times it is
