なぜ IE だけこんな挙動なのか? getElementsByName() で、IE だけ拾えてないのなんでだろうと思っていたら、name で拾ってくるらしい。 だからこれはダメ
<input type="file" name="idfile" multiple>
これなら大丈夫
<input type="file" id="idfile" name="idfile" multiple>
javascript も同様
var newFile = document.createElement("input");
newFile.type = "file";
newFile.setAttribute("name", "idfile");
newFile.setAttribute("id", "idfile");
newFile.setAttribute("multiple");
var div = document.getElementById('iddiv');
div.appendChild(newFile);