Hallo,
if (typeof(document.getElementById(i + "_final")) != "undefined")
Bei nicht existierenden IDs gibt getElementById() bekanntlich null zurück. Bist du sicher, dass dieser Wert als undefined gilt?
Lustigerweise ist typeof(null) == "object", also ist diese Abfrage wirklich fehlerhaft.
Mathias