Note that the Map's progress is the sum of the individual layer's progress, so if your layer raises progress=50, that doesn't necessarily mean the map has progress=50 (only if it's the only layer that will be the case). So if your layer is only a small fraction of all the layer's progress (some layers has a heigher weight like for instance tiled layers), you could simply be hitting the fact that the progress value is rounded.
I suggest you look at the HeatMapLayer sample to see how progress is raised.