I operate my layout with DC, so my understanding of DCC is somewhat limited. However, the situation that you describe is also common with DC control. If I understand your explanation correctly, you are operating a train with two locos pulling at the front of the train and a third loco pushing from the rear. If the locos are matched, as you say, in speed to one another, the problem may lie with the cars of the train. If you have cars that are not all reasonably close to the same weight, lighter cars can be lifted by compression forces from the rear locomotive. These same forces can exacerbate problems with out-of-gauge wheelsets or trucks where the wheels are not properly placed on the axles, causing the truck to skew sideways. You should also ensure that all couplers are set to the proper height, as the pushing force can emphasize any up-and-down play in the coupler shanks.
If your locomotives are truly similar in speed (often, speed is similar only at certain throttle settings) then a train such as you describe, running on level track should, theoretically, have the couplers of the front 2/3 of the train in tension, with those of the rear 1/3 in compression, each loco contributing 1/3 of the force required to move the train. These proportions will vary somewhat, but are a good general starting point. When this same train starts up a grade, the load on the lead locomotives increases as the train enters the grade. If your throttle setting remains constant, the pusher loco, still on level track, continues on as if conditions haven't changed. However, because the front locos are using some of their power to overcome the grade, the pusher unit, as far as is possible, begins to push, or compress more of the train. This shifting of the proportion of the train moved by each locomotive will continue until the pusher loco itself enters the grade. The same problem, in reverse, can happen when the train reaches level track at the top of the grade. While the trains that I normally run are usually 20 cars or less, one of my interests is improving the pulling power of locomotives, so I will, on occasion, run trains of 50 or 60 cars, or shorter, but extremely heavy trains. My test area consists of just over 45' of 2.8% grade, laid out over two horseshoe curves, separated by a long straight, with a very broad radius "S" curve near the top. Motive power varies, although the usual would be various combinations of Bachmann 2-8-0s, Athearn 2-8-2s, and remotored Athearn SW1200RSs. As long as the individual cars are similar in weight (the odd over-weight car doesn't seem to cause a problem, although light cars do) I experience very few problems, regardless of where the locomotives are placed in the train. Because there is not yet a layout in place at the top of the grade (second level yet to be built) the trains must be backed down the grade, again with few problems. When I looked at DCC as a possible control method, its main advantage for my situation (usual one-person operation and a fairly extensive locomotive roster requiring decoders) it seemed that the main advantage for me would be to allow two operators to run the trains that I've described, with one operator running the head end and the other controlling the pusher(s). Until the advent of remotely controlled helpers on the prototype, this was the way the real railroads did it. In the steam era, each loco had its own crew and the coordination between each determined if the train got over the road or not. I'm surprised that large club layouts running steam using DCC control don't exploit this capability.
If your cars are all of a similar weight and the problem still persists, try using all three locos at the head end, or try changing which of the three is used as the pusher. You may find that the speed values aren't set as closely as you thought. My feeling, however, is that the problem lies within the train, and not with the locos. The grade merely introduces conditions that negate the speed matching capabilities when locos are used as you describe.
I hope my long-winded explanation will be of some use in solving your problem.
Wayne