I have been having this discussion for several months now with some folks and there is a varying degree of what they feel they should get.
For a web design company sending you referrals, it should be a percentage, up to 20% IMO, of the first month. If they become a solid pipeline, consider offering a higher percentage or cash up front. Or, you could work out an agreement with the design company and yourself, charge the design company XXX(X) dollars per month and let them re-sell your services. I feel it's important to establish the agreement with the design company so they are paying you every month, not the client. This covers you so you make sure you get your money despite the client not paying.
On the same note with a web design company, I had someone tell me they wanted 20% each month if they referred a client. I asked them what they were doing and/or would be doing monthly that they felt they were entitled to a monthly cut? Their answer was, giving you business you wouldn't have had. I didn't agree. I posed the same scenario to the same person, who I've given web design jobs to, and they felt it was fair to only give a % of the first month. They had a monthly agreement with this client I referred to. The discussion was a little bitter and heated at times but if it wasn't discussed at all, it would have led to quite a few problems.
For other SEO's, I think it's fair to give them up to 30% of the first month or a modest percentage of the one-time fee, 10%-15%? Perhaps something of equal value like a bottle of wine or booze or a night out on the town. Give them a reason to keep sending leads to you.
I firmly agree with dusty about discussing and having something in place before money changes hands. Everyone is clear about the details of your agreement and less chance of hurt feelings. I do personally think 50% is on the higher side of what I would be comfortable with but as Linda said, it really depends on the situation.