Absolutely! By saying Happy Memorial Day you are honoring the sacrifice of those who gave their lives to protect ours. We SHOULD be happy, not they have fallen, but that they were brave enough to risk doing so. No war ends with no casualties and the ones we honor fought in just wars.
Yes, it is appropriate to say 'Happy Memorial Day.' In offering this greeting, you are acknowledging this person and wishing them a good day in any way that pleases or helps them. I understand that some people feel Memorial Day should be solemn and somber. Those people may choose to do so. I also think it is appropriate for some people to hold celebrations and family gatherings. They should do this as well. In the end, everyone is setting this one day aside, either by taking a day off work, holding somber remembrances, or family celebrations. All these people are recognizing the holiday and that is good. To everyone, I say, "Happy Memorial Day!"
It is perfectly appropriate to say "Happy Memorial Day," at least to people who are not on some mission to be offended. While Memorial Day is a time to reflect on the service of those who died defending liberty, it should also be celebrated for the very same reason - that liberty is alive and well. That's something to be happy about.
Memorial Day is a holiday to commemorate soldiers who died serving their country, and it may be a very somber day for many families and friends of soldiers. It would be inappropriate to use the word 'happy' when talking about a day commemorating those who died in combat. Saying "have a good Memorial Day" is a good thing to say instead.