I've got to say, although your subject is in the right vein, you've got your leap years totally messed up (sorry).
In general, let's accept that every fourth year is a leap year. So 1980 was a leap year, as was 1984, 1988, 1992, 1996.
However, as you pointed out, the calendar year is slightly less than 365.25 days, in fact its closer to 365.24 days.
How do we deal with this? You make every 100 years not a leap year (not every 400, as you said) so that the years 1700, 1800, 1900 were not leap years.
HOWEVER, even 365.24 is not quite right, in fact, the year is closer to 364.2425 days long. What do we do then? The answer is that every 400 years instead of having no leap year, we have one anyway. Therefore the year 2000 is a leap year (check it in your PC's calendar if you don't believe me) even though 1700, 1800 and 1900 were not.
Theoretically, this means that 1600 was also a leap year. However, the current system of allocating leap years was not introduced until after 1600, so the year 2000 is actually the first Gregorian calendar year which is a leap year divisible by 100 EVER.
That sorts out the technical inaccuracies. The other point is that your essay assumes that time was uniformly calculated since year dot, and that there was simply a mistake 'way back when.'
In fact, there have been several major upheavals and changes to the calendar and the way it is applied over the ages. This controversy spills over into lots of other related issues, such as whether the 20th century ends on Dec 31 1999 or Dec 31 2000. This is because of an algebraic mistake made by a sixth century monk called Dennis the Short, who calculated the birth of Jesus and the beginning of time (relative to the foundation of Rome) for Pope Saint John I. Here I quote:
"He reckoned Jesus' birth at December 25, near the end of year 753 AUC (ab urbe condita, or 'from the foundation of the city,' that is, of Rome). [Dennis] then restarted time just a few days later, on January 1, 754 AUC - not Christ's birth, but the Feast of the Circumcision on his eighth day of life, and also, not coincidentally, New Year's Day in Roman and Latin Christian calendars." (Stephen Jay Gould)
This was a monumental cock-up from the beginning. Dennis, as well as being short, was also quite stupid. Point 1: He started time at year 1 (instead of year 0) making the gap between 1.5 BC and 1.5AD only 1 year instead of three (and no gap at all between 1BC and 1AD) which has led to centuries of people arguing about when the end of the century is. Point 2: Herod died in 750AUC, making him three (or two) years dead by the time Jesus was born under his system.
In any case, the answer to your question of Why is Christmas celebrated on the 25th of December is simply that it happened to be eight days before new year in the sixth century (when time was first calendarized.) The appropriate question to ask is why was New Year celebrated on the 1st of January in the 6th century? This has more to do with the pagan religions of western Europe and their 'New Year' festivals than anything else.
Sorry to go on for so long, and thank you for the beautiful music which accompanies your site (and I'm sure inspires people to write you with many corrections and notations).
Remember, I'm not right, you're not right, this is all opinion and conjecture, but one thing is for certain. 2000 is a leap year, and you said it isn't. Oops.
Dylan Tusler