'nonce' has nothing to do with this part, cgminer has nothing to do with the nonce ranges.
if cgminer has absolutely nothing to do with the nonce then who does? does the hardware miner have a routine to run through the nonce range - is it triggered by cgminer in some way? weird
The nonce range is dependent upon a combination of few things.
A) As Fuzzy mentioned above
B) How work is queued in the physical miner.
b1) You can't always divide 2^32 evenly with the number of chips and the number of cores.
So some values may not be used because of this.
b2) If we are talking about a small miner, there may be no work queue inside the hardware, so the miner must have it's work refreshed by cgminer, before it reaches 2^32, so it doesn't repeat doing the same work again from the start.
Thus. timing here will mean that all sub-ranges that are divided up among the chips, would rarely if ever complete.
Be aware of the obvious fact that you don't need to mine the full range.
It makes absolutely no statistical difference if you stop a range before it completes and start again from the bottom with new work.
As I mentioned
It does not matter what the asic nonce range is. The only point of interest is for the asics to test a high % of the range to minimise work I/O to the asic.