Drag and drop content on user side in drupal 6
Save the arrangement of blocks using some client side storage (e.g. cookies) when it is changed. After the page is loaded, use JavaScript to recreate the arrangement from the stored information.