Hola otra vez:
Acabo de probar el uso de onchange y no me funcionó:
<html>
<head>
<script type="text/javascript">
function cuenta() {
document.forms.prueba.conteo.value = document.forms.prueba.entrada.value.length;
}
</script>
</head>
<body >
<form name=prueba >
<textarea onchange="cuenta()" onkeyup="cuenta()" name=entrada></textarea>
<input type=text name=conteo readonly/>
<input type="button" value=" xxx " onclick="document.forms.prueba.entrada.value += '[xxx] ';" />
</form>
</body>
</html>
Tal vez sea mejor llamar a la cuenta con las funciones de inserción.
saludos