the pool gives each worker a part of the space of possible solutions (not just a nonce range).
do you see this in the source code of yiimp pool? i cant find it.
that's how stratum works: it gives the miner work to do, including all the stuff that must be put into the block header, to be hashed.
the miner doesn't connect to a coin daemon, so all the info must come from the pool thru stratum.
look for more info about stratum, extranonce (1 e 2), merkleroot, the block header in general.