Hola otra vez:
Me parece que lo primero estaba bien solo que tenías que haberlo puesto de otra manera:
<html>
<head>
<script>
<html>
<head>
<script>
function oculta() {
var capa = document.getElementById("capa");
with (capa) {
style.visibility = "hidden";
}
}
function muestra(dato) {
var capa = document.getElementById("capa");
with (capa) {
innerHTML = dato;
style.visibility = "visible";
}
setTimeout("oculta()", 10000);
}
</script>
</head>
<body
onload="muestra('esto')">
<div id=capa style="width: 100; height: 50; visibility: hidden; top: 100; left: 200;" ></div>
</body>
</html>
Tal como lo tenías no estaban "visibles" las funciones muestra y oculta...
Una costumbre buena es usar el evento onload del body para hacer las llamadas a las funciones.
Saludos