"Maybe the beta could have been experimented with for another few months before it was made a mandatory upgrade to avoid all of this."
There's no such thing as a "mandatory upgrade". Heck, there's nothing preventing you from using WordPress 2.0 if you really wanted to.
Beta testing is all well and good, but you'll never see every bug in a beta test. There just aren't enough people with enough differences in their configurations to catch everything.
As to your specific problem, a temporary folder generally refers to the folder a file is transferred to by PHP before it is moved into it's final location in the wp-content/uploads folder. You said your host had you migrate your site... was it to a whole new server, or what?
Because USUALLY the cause of that specific error message is an improperly set upload_tmp_dir in your server's php.ini file... which is something your host would have to have screwed up when they moved you. If PHP doesn't have a temporary upload directory specified, it can't upload a file. If PHP can't upload, neither can WordPress.
It sounds like it's not WordPress that can't upload... it's PHP. If that's the case, your host needs to fix it for you.
Your original 500 error was likely caused by your site's .htaccess file, as your host suspected. Renaming it, and then generating a new one by re-saving your site's Permalink settings once you have backend access again, ought to fix it.