Hola:
 
Sin duda el código es un poco complejillo, pero estás en lo certo... y es que se borra lo mismo que anteriormente se ha creado: 
donde.parentNode.appendChild(capa); 
La explicación es que cada línea "destripada" que tiene un botón, tiene el evento click asociado a funciones del tipo verXXXX(this), donde this es el botón (dentro de una capa) y cada función crea un elemento nuevo (hermano menor del propio botón)... 
Lo que vamos a ver es como solucionas el problema... no siempre necesitamos como referencia el id, puede ser suficiente el orden de ubicación con respecto al padre... y si quieres borrar todos los hijos se puede usar un bucle while con la condición hasChildNodes()... 
function borrar_mis_hijos(yo) {
  while (yo.hasChildNodes()) yo.removeChild(yo.firstChild);
} 
Saludos