Now he gets 33% of the blocks, the same as the other 2 miners. BUT - if his block is not considered more 'worthy' of extension because of it's higher difficulty, the total network hash rate is now only 3.. We have just lost 25% of the power..
Stales have no effect on network hash power in terms of generating coins because stale shares that meet the block target are submitted to the coin daemon. If it is accepted, then the block pays out to the network even if it was a stale share for the share chain.
If it is the case that your custom difficulty affects your shares 'weight', then a higher difficulty would mean your share is more likely to be the one that is extended in any chain race, and so less lightly to be a stale.. (Unless the total of all miners average each other out in some way) ?
This wouldn't be healthy for the network. All shares should have the same chance of being stale. (Well, some nodes are more efficient than others, but it isn't because of the contents of the share.)
Miners using higher diff targets to help out smaller miners aren't hurt more by stales than anyone else. Yes when they have a stale share it is a larger loss than a smaller share would have been, but the smaller shares they are finding, the more stale shares they will have because it's all a %.
If you have a target of 1000 and a 1% stale rate, each stale share loses you 1000 diff 1 shares worth of work.
If you instead set target to /1 and have a 1% stale rate, then out of every 1000 diff 1 shares worth of work you lose 10 shares to stale and have 990 accepted.
In other words:
1000 per share * 100 shares = 100,000 shares of diff 1 work * 1% = 1000 diff 1 work (1 share) lost as stale.
1 per share * 100,000 shares = 100,000 shares of diff 1 work * 1% = 1000 diff 1 work (1000 shares) lost as stale
All in averages, of course. Total credit lost exactly the same. No matter what target you set, you'll lose stale % amount of it. The target will only change the variance of the stale cost.