Esta é uma resposta definitiva: eliminar uma resposta tentadora, mas errada, para ajudar os outros a navegar em direção às respostas corretas.
Pode parecer que a depuração destacaria o problema. No entanto, o único navegador em que o problema ocorre é o IE, e no IE você só pode depurar o código que fazia parte do documento original. Para código adicionado dinamicamente, o depurador mostra apenas o elemento do corpo como a instrução atual e o IE afirma que o erro aconteceu em um grande número de linha.
Aqui está um exemplo de página da web que demonstrará esse problema no IE:
<html>
<head>
<title>javascript debug test</title>
</head>
<body onload="attachScript();">
<script type="text/javascript">
function attachScript() {
var s = document.createElement("script");
s.setAttribute("type", "text/javascript");
document.body.appendChild(s);
s.text = "var a = document.getElementById('nonexistent'); alert(a.tagName);"
}
</script>
</body>
Isso gerou para mim o seguinte erro:
Line: 54654408
Error: Object required