Infatti non so il perche ma inserisce un nodo prima della prima riga, uno dopo l'ultima e una tra ogni riga.
Questo spiega i tuoi 9 nodi.

Di più guardando il tipo dei nodi pari si vede con sono del tipo textNode ma che non contegono nulla .

Prova questo. Clicca una prima volta e poi una seconda.
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<table summary="">
<tr id="tr1">
<td id="t1"><span id="s1">dddddddddddd</span></td>
<td id="t2">eeeeeeeeeeee</td>
<td id="t3">fffffffffffff</td>
</tr>
</table>
<input type="button" value="clicca" onclick="pippo()">
<script language="JavaScript" type="text/javascript">
<!--
function pippo() {
var oColl = document.getElementById('tr1');
for (i=0;i<oColl.childNodes.length;i++) {
 if (oColl.childNodes[i].tagName != null) {
  alert("tr1 con tagName : "+oColl.childNodes[i].id);
 } else {
  alert("tr1 senza tagName : "+oColl.childNodes[i].nodeValue);
	oColl.childNodes[i].insertData(0, 'pippo') ;
 }
}
}
//-->
</script>

</body>
</html>