For a given difficulty, there is a target hash value and all hashes smaller than this target value are valid solutions to a block.
I don't understand why do you treat all hashes generated in the system as solutions? They are merely generated hash values -- attempts to solve POF problem.
Every hash value bigger than target hash value isn't a solution at all, because under no circumstances it can be accepted as a solution to POF problem!
A solution is validated against all other solutions and if its hash value is the smallest it is accepted as
the valid solution to a block.
To a certain extend, I can see your logic for clients of mining pools. But it is incorrect for a solo mining client, in my view. I'm curious to see someone's success in using guiminer solo mining and look at the proof, of course.
I don't want to derail this topic discussing the technical details of mining, so if you're still confused let's move this to a separate topic

Sure.

Thanks once again for the great job you do with guiminer. A Linux option would be appreciated.