It's not just the British and certainly not just royals. Short pants have been the norm for boys under a certain age in many countries for a very long time. In fact, they were common in the US for small boys until the late 60s or so, especially among the upper class. Look at the way John F, Kennedy, Jr. was dressed as a child. My younger brother was dressed that way, too, in the mid-60s, and we were not upper class. See below.
As for cold, yes, I suppose they ARE cold, but so are little girls, in their cute little knee-length (or halfway-up-the-thigh) dresses.