See, with NH; they are trying to solve a block with your transaction; so a different hash all together. Theres no way for a renter to withhold blocks like that... you can see the live submissions/hashrate coming through the solo pool. I don't see that being faked at all.... unless the hash renter feeds garbage data to the pool (I would assume the pool would invalidate bad work?)
...
Incorrect.
Withholding is done by the miner - they simply don't return the particular share that is a block, they just return (some or) all other shares.
Even if they do this, the person renting out their hardware gets paid and so does the renting service.
You can't know in advance which work contains a block, you only know when you find a particular share that is better than network difficulty.
It has nothing to do with where you get your hashes from except the obvious that: if it was your own miner and you were solo mining you'd be throwing away your own block
Theoretically - would it be possible for a pool to send a miner the most recently solved blocks template immediately before the block change notification? In this situation the miner should send back the solved block, then the pool could then discard it and continue sending valid work. This could be a proof to see if blocks truly are being withheld.
I realize in this scenario some hash time would be wasted on an old block.