Actually, this is one of the steps I took ( I thought the columns may have been getting swaped around ), so I actually have been using the "explicit column name" version of insert/replace, but that also had no affect on the execution of the code. The only thing that seems to alter whether it runs or not is using the $3 variable prior to the do call.