evidentemente si asignas el evento cada vez que haces click en el elemento, por mucho que lo elimines, se asignará de nuevo. el problema que se aprecia es que le estás pasando un parámetro, por lo que no puedes usar el evento onload. tendrás que mostrarnos de donde obtienes es parámetro. aunque supongo que es la "posición" del elemento dentro de una colección
por otro lado no estás haciendo lo que se te indica
Cita: function nuevaLinea2(str) {
var input = document.querySelector("#art1"), fn = null;
input.addEventListener("focus", fn = function (event){
..........
this.removeEventListener("focus", fn);
}, false);