document.write sovrascrive il documento, probabilmente dopo il primo non ritrova più lo stesso script presente nel document fino all'attimo prima e non sa che caspita è la funzione numeri ... ma in generale sembra quasi tu stia aspettando che quel numero++ faccia qualcosa, mentre essendo una variabile locale non farà molto se non al massimo stampare sempre 0 (o mostrarlo in alert)

codice:
function numeri(){
	if(!numeri.numero)
		numeri.numero = 0;
	alert(numeri.numero++);
	setTimeout(numeri, 5000);
}

// oppure

var	numeri = setInterval(function(){
	if(!numeri.numero)
		numeri.numero = 0;
	alert(numeri.numero++);
}, 5000);