Well you could add your own code to the theme for this function. Not every theme was made to be perfect for every user in every situation. I find twenty ten to be very flexible and easy to edit.
I suppose the reasoning behind it is if the image were smaller it would require the theme to auto adjust to the size of the header being used. I'm no coder but I would guess that is a fairly extensive bit of code, the same thing goes for the reason why the header is cropped to a certain size.
If you are using twenty ten, one way to get around this might be to try a theme called twenty ten weaver, which is alot like twenty ten but with more options. It has an option to choose what size you want the header to be, as well as many others. There is also 3 different flavors, one for beginners, one for advanced and one for theme creators.