Had some trouble with the built-in twentyten images. The header image is saved inside a serialized hash in the database complete with the protocol and server name as well as the blog home URI. The problem with this is if there are two different URLs under which the blog can be reached, the one under which the header image was set will be fine, but for the other one the header image will always be loaded from the alternate one.
My fix was to set the define HEADER_IMAGE
in wp_config.php
with full path and reset the header image in the twentyten settings:
define('HEADER_IMAGE' ...
// Oliver