Is it just me, or is it silly to consider the nonce without considering the rest of the data in the block header?
Edit: Perhaps OP could provide detail on the merkleroot and transactions of the blocks in question.... I mean, if they were empty blocks it would indeed be suspect, but to produce a valid nonce and still manage to include a solid transaction set from the pool, come on now....
These blocks are not empty, empty blocks are another business. You don't fabricate the nonce from the rest of the block, these nonces could be not the main dynamic variable for the purpose of mining, and you may start testing nonces starting from some nonce with many zero bits for some reason.
But you DO fabricate the block hash from the Block Header, which includes the other data in addition to the nonce. It is this hash, not a hash of the nonce itself that has to beat the Target. I am not sure if you understand how hashing works to suggest that with entirely different block header data a similar nonce could be exploiting the end hash.