If it had been done before on other flights why did NASA get so upset about the crew of Apollo 15 trying to profit from the stamps they took with them?
It hadn't been done before on that scale. Astronauts had a weight allotment for personal items they could take up with them that was a few pounds or so. Which means that the most anyone could carry with them was a couple of items, not the hundreds of covers the crew of 15 brought with them. It's one thing for Buzz to auction off the communion set he brought with him to the Moon, quite another for someone to sell hundreds of items. (Oh, and the hallmark of the covers was that they were all signed by the Apollo 15 crew. They did it on the carrier as they returned home from the mission, not in space. The covers spent the entire mission in a crew bag.)
How much did the astronauts end up making from the stamp covers? And if they were within the weight allotments for the flight then why should NASA have cared? They didn't care when one of the astronauts took the head of a golf club on one of the Apollo missions did they?
See for yourself. People tend to frown on government employees profiting from their positions. Yeah, they did. He caught some heat for it from the NASA brass. Though, in retrospect, it was probably a good thing for him that he did it, since it took attention away from the fact that he botched the science on the mission. If you read something about the space program other than what Zubrin has published, you'd know these things.