I went with my boys (both in high school) in December 2005. We went for 2 weeks. They missed 11 days of school. Its a long story - jobs changing, blended families, lost opportunities to take them when younger, etc.
I also struggled with everything like you. One of my boys had concerns like your son. They were just ramping up to exams and he didn't want to miss exam preparation, etc.
To make a long story short, we went, they did some reading and assignments on plane and during down time. Our entire family had our "trip of a lifetime". We came together and really had a magical time. I, like you, had invested a considerable amount of time planning, and I knew if we didn't go then, we might not ever get the chance to go as a "complete family" again.
The boys still rave about the trip. Whoever said older kids don't appreciate Disney don't know my boys. They loved it, and we will have precious memories as a family that we might never have had if I had listened to my usual "rule-following self".
The other point others have already made is that you were trying to follow the rules, but for reasons out of your control the school holiday dates changed. That is not your fault.
Both my boys are strong students, and they managed to maintain over a 90% average for last year, even missing 11 school days! The only subject they dropped in at all, believe it or not, was gym because it is based on participation (go figure!). They both managed to bring their marks back up in that subject as the year progressed.
You have to do what is right for you and your family. Only you know that. But sometimes you have to stand on the edge of a cliff and let yourself fall willingly. The arms of Disney will catch you. There are always ways to catch up at school. If the kids are willing to do that - I say, take a chance! Are there any other ways to make magical family memories, especially with one a senior in high school and soon to be gone? Think about this "big picture".
Whatever you decide, many of us can empathize with your struggle, and we wish you well.