FWIW, here's why I think share difficulty matters.
When a new block is found on the network, every miner drops the share it's working on and starts working on a new share from the new block.
Sometimes, the miner doesn't get the notification fast enough and submits the share anyway (which then becomes a stale/reject).
On average, each miner should be about halfway through a share on a block boundray.
In this situation, a miner sumbitting e.g. difficulty 64 vs one submitting difficulty 512 shares (at roughly the same hashrate) would look like this:
block boundary (||)
(A) [64][64][64][64][64||][64][64][64][64][64][64][64][64][64]||[ ...
(B) [---------------512||[---------------512-------------][ ...
In this scenario, miner A would have 4 difficulty-64 shares submitted before the first block boundary, and one aborted. The miner using 512 difficulty shares has not finished one share yet and so he loses the equivalent of ~4.5 difficulty 64 shares when he restarts work.
Now, you could say that over time, this would even out (I am doubtful of that.. But..) Consider when the miner is not very fast. Now you have the following situation:
block boundary (||)
(A) [64][64][64][64][64||][64][64][64][64||][64][64][64|][64][64||[64][64] ...
(B) [---------------512||[------512------||[---------512--------||[------- ...
Miner B in this scenario loses many shares because blocks are being found faster than he can find a share. It looks like your pool is already up to around 300 MH, which means that on fast coins you are probably finding multiple blocks per minute. At 512 share difficulty, I doubt a 300KH miner can even find a share in a under a minute on average. It takes a 650KH miner about 6 seconds on average to find a diff 64 share. So a diff 512 share would average around 48 seconds.
I think people with large rigs that do 2000KH or more are going to receive a disproportionate amount of the rewards on your pool due to the high share difficulty.