Да, в IE проблемно менять свойства type и name, попробуйте:
input.setAttribute("name", "file");
Еще в IE можно элементы создавать следующим образом:
var input = document.createElement('<input type="file" name="file" />');
Хотя подобное и в других браузерах легко реализуется с помощью innerHTML:
function createElement(htmlCode) {
var node = document.createElement("div");
node.innerHTML = htmlCode;
return node.firstChild;
}
var input = createElement("<…>");