and does purepool check the nonce as each small share is solved?
Yes, purepool checks the nonce on every share.
So, how does share difficulty submission work on purepool?
If we run 32 threads on a 4 core system, does that means each thread will submit lower difficulty shares more often than if using a 4 core with 4 threads?
Rob's pool is not accepting any share higher than current difficulty (which I think is weird). Are you doing that as well? All the pools I ever participated in will give share credit of whatever the current pool difficulty for the worker is. so, if pool accepts 1 diff, then even if you submit a share diff of 10, you only get credit of 1. I can only think higher share diff is rejected so discourage high hash rate pool participants.
That could explain why we have so many solo miners instead.
capulo:
What's the advantage of running more threads than you have cores or hyperthreads?