However your barter systems works, it has to be equitable both ways. If you charge them retail, then they charge you retail, it works out. Or free, free.
But as Mausram pointed out, if you spend 40 hours working for free, that's 40 hours you couldn't bill someone else for. At that point, if you charged $100/hr, and had enough work to keep busy, it's exactly the same as writing them a check for $4000. Why not just write the check? Econ 101: Opportunity Cost.
I do plenty of free work. But I do get paid back in other ways, if nothing else than feeling good that I helped someone out that needed help and couldn't otherwise afford it. Being charitable is okay. It all works out in the end. Karma