I think we need to think of altruistic acts in a manner other than the absence of any self-interest. In fact, the idea that one should deprive one's self of any self-interest whatsoever has its own additional ethical problems. The problem is compounded especially for those of us who believe that human beings are created in the image of God.
The proposed dilemma is that if John helps the poor, then he feels good about it. If, on the other hand, he does not help the poor, then the poor continue to suffer. This is a simplistic scenario, so I ask for the reader's indulgence. The point is, no matter what John does, he can be accused of selfishness.
This dilemma, as stated, falsely assumes that feeling good about something is selfish. A distinction ought to be made between selfishness and self-interest. Beginning with the latter:
Self-interest: desiring the good for one's self
Selfishness: desiring the good for one's self at the expense of others
Obviously self-interest, with these definitions in mind, does not always entail selfishness. If self-interest, then, can be incorporated into altruism without resulting in selfishness, then there is no reason there can be no truly altruistic act. In fact, the two are demonstrably consistent under the following definition of altruism:
Altruism: desiring the good of others
One may, without contradiction, desire the good for one's self and that of others simultaneously.