I think the answer to this is pretty field and country dependent since there is variation on the frequency of unpaid post docs. In terms of ethics, I am going to ignore the big issue of whether it is ethical for you to be doing an unpaid post doc and focus on the grants/papers issue.
Despite how it may seem, most PIs do not go out of their way to take advantage of people. The PI probably thinks it is in your best interest to be writing grants and not running experiments or writing papers. One reason for this might be that getting if the PI, or one of the PIs collaborators, gets a grant, then they could pay you. There does not seem to be anything unethical about trying to get an unpaid person into a paid position as quickly as possible.
As for what you should do, you need to talk to the PI. Make sure he understands where you are trying to get to. Then work with him on an approach that gets you there. It might be writing more grants or maybe you need to switch to papers.