The action save_post
is also called during AJAX auto-save requests. But your value is not sent then, so you save an empty value for something that isn’t set.
Start your save function with:
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return;