I don't think the law is over restrictive at all....though I do think that PPL's with a speciality should be able to charge for SOME things - for example a PPL FI or a PPL who is an aerobatics expert giving tuition.
Personally I never ask for a cost share nor do i expect it from my pax but if they offer to pay the landing or lunch, then fine. The only one who has given me anything is my dad who insisted even though I refused....but that is what dads do.