Nah, amigo zerokilled, te lo complicas mucho. Solo guarda el valor de 'b' en una variable, usa tu innerHTML normalmente y luego le pones a b el valor que tenía.
    
Código Javascript
:
Ver original<script language="javascript" type="text/javascript">
            
    function agrega(){
        var div = document.getElementById('capa');
                var  inpt = document.getElementsByName('b')[0];
                var bVal = b.value;
        div.innerHTML += 'prueba';
                inpt.value = bVal;
    }
</script>
  
Para empezar yo probaría con eso...