OK, you didn't post that you had had a conversaion with them....please reread your post. While you may know the whole story, we didn't, based on your initial post which left out the vital piece of information that you had discussed this already.
So, you have basically heard their side.
You have 2 choices:
1. Speak to your boss and see if you can get him/her to change his/her mind
2. Quit
Realisitically, what you have done for the company has no bearing on anything. You have been compensated for your work, and nothing pisses off a boss more than to hear "After all I've done for you". You didn't do it for free, and if what you were doing was not within your job desciprtionm, then you probably should not have done it if it was going to bother you.
Many years ago I was in a similar situation.
My uncle was retiring from the Army as a 2 star general, so a pretty big deal of a retirement ceremony. The retirement was in June. I knew about it the September prior....so about 9 months in advance...so I put in for vacation. My supervisor said to me "I don't know if I'll be able to give you that time off" I asked why, she replied "because other people may want that week". I responded that if they wanted that week, then they should put in for very early, like I was doing. She went on about how she might not be able to give it to me and I finally said "I will not be here that week. Whether or not I return to work the next week is entirely up to you". And yes, I was serious that I would quit if necessary....it was that important.
So, determine if you are willing to quit or not, and then go from there.