trust me when I say that is not a working solution. We have to get quote data, not 5 min bar, their real-time data is definitely accurate and matches everything we see from other sources.
MT has to have cumulative volume on each row. Whether it comes that way or we calculate it, it must be there. IB's backfill doesn't return it so it is computed by just adding up all the preceding bars that they do return and since that total is not accurate in some situations, that is where the problem occurs.
If MT was an app written specifically for IB and only IB, we could do the various kludges to "correct" the data. It is not though, and that solution is simply not feasible.