That way even if the client backs out, at least the agent hasn't completely wasted their time, effort, and money for absolutely nothing.
I don't see why a commission should be limited, however. If you're great at your job and have a track record of selling homes home for more or buying homes for less than other agents can, why shouldn't you be allowed to charge more?
Even now, some agents (if they're desperate or just starting out in the field) will negotiate away part of their commission. So a lower commission is always an option too.
I'm not sure how either of those address what I was responding too, though. If you are (as an agent) doing all the legwork in the hopes of getting paid on close, it's risky. Some form of industry standard way for agents to get paid a bit for this work I thing would improve it for everyone, but ymmv.
Perhaps a better system would be a base fee + (lower) commission, and commission based on concrete sales target rather than market value...