codice:
// carico();
//questa và messa dopo che la funzione è dichiarata
function carico () {
	dati=new LoadVars ();
	dati.onLoad = function (ok) {
		if(ok){
			news=dati.news;
		}
	}
	dati.load("http://www.xxx.com/public/news.txt", 0);
}
carico();
function invio () {
	datinv=new LoadVars ();
	// _root.news="";
	// dati.news="";
	// così svuoti quello che hai riempito prima, perchè?
	newsperasp="news="+newnews;//cos'è newnews? e perchè crei in questo modo newsperasp?
	datinv.newsperasp=newsperasp;
	datinv.sendAndLoad("http://www.xxx.com/public/inser.asp",datinv, "POST");
	carico(); //perchè richiami di nuovo "carico()" ?
}

// dove richiami la funzione invio() ?
prova così, ma...

...sinceramente sono alquanto perplesso sul codice che hai scritto, ci sono diversi passaggi non chiari come ti ho scritto nei commenti, a cosa serve tutta quella roba in più?

magari chiarisci la tua situazione senza codice giusto per capire esattamente cosa devi fare con queste due funzioni che hai creato