Moral of the story is...
...don't use SELECT INTO in SQLServer. You listed a couple of the reasons, but there are some others as well. Just do a CREATE TABLE #temp and then insert the recordset into the temp tables. Better yet, use a TABLE VARIABLE and avoid the transactions overhead.