I'm reading a fascinating book that my wife discovered, Daniel Gilbert's Stumbling on Happiness. At some point I'll probably review it for Mises.org so no need for a big to-do right now.
However, in the beginning he discusses why it's very odd that we try to imagine and provide for the desires of these other people, who are often very ungrateful. Those people are our future selves.
This wasn't Gilbert's point, but it reminded me of one of my (countless) deep insights from my grad school years: If you are altruistic then it will redound to your happiness. There is much psychological truth behind the Golden Rule, but it's not (simply) that God will reward you in heaven or that people might reciprocate.
Rather, if you orient yourself to catering to others' needs, then you will do the same for your future self. And hence you will be happier than if you selfishly look out for Numero Uno, and then wonder why you haven't lived up to your potential (and hence are miserable).
Obviously some readers are going to get defensive and think I'm lecturing, so let me admit: I'm not saying I practice what I preach very well. Even so, I think this is part of why morality "works," and why ethical egoism is so misguided.
The principle here is similar to my thoughts on tithing: At first it is absolutely CRAZY to give away 10% of your income to the church every month. You might do it out of duty, but what a pain; that would kill your budget, right?
On the contrary, once my wife and I got serious about it (and she was the driving force I must admit), all of a sudden we had money falling out of our ears. It wasn't that a divine paycheck came from a deceased Aunt Marge, but rather that all of a sudden we understood our finances much better and so had more, even after taking 10% off the top.
Same thing with the Golden Rule. If you are kind, merciful, patient, etc. with other people, then you will be that way with yourself. At first it's counterintuitive--it seems you should spend your efforts on pleasing yourself in order to be happy. But if you develop the discipline to see what other people really need (and that could be a beer or a compliment, OR a lecture or a kick in the pants depending) and to try your best to help them in a loving way, then you will effortlessly apply those skills on yourself.
And one last thing: You can't cheat and say, "Well if you're right, then I as a rational utilitarian [actually you probably are a consequentialist] will adopt altruistic attitudes as a means to an end." That's like saying, "I'm going to convince myself that my car is the coolest car in the world, and then I will be happy."