The "more permanent" fix presumes you actually have enough room on your phone to move them back to the phone.
Those phones with enough room wouldn't need to be moving to SD in the first place. So its a catch 22.
Amen. Another fix is to cancel the download in Market and then restart it. It seems that one app will hang up the whole process. I have found that selecting the app then canceling can cause Market to crash. By long clicking on the app in the downloads list, it gives an option to cancel the download. This seems to be a more stable way to cancel, then restart the download.