Hola Rafeal.
Interesantes preguntas; voy en orden:
1) Debería decirlo la especificación del TAD o debería existir una política general de cómo manejarse en estos casos. Es una mala política dejar memoria colgada (sin liberar) salvo que la especificación indique que no debe liberarse. Respecto a realizar una copia superficial (solo el puntero) o en profundidad (toda la estructura) cuando se recibe un parámetro, también la especificación debería aclararlo o ser nuevamente una política general de trabajo, para que el uso de las operaciones de los tads sea precisa (sin ambiguedades).
2) Los ordenes se establecen sobre las implementaciones, no sobre las especificaciones.
3) La especificación o una política general de trabajo con el TAD deberÍa aclarar si los borrados en el TAD son físicos o lógicos.
4) Cuando se especifica un TAD se establece si éste es acotado o no acotado. En general, en un TAD acotado las operaciones de inserción tienen como precondición que el TAD no esté lleno, se agrega un predicado para chequear esta condición y la operación que crea la estructura vacía recibe la cota (tamaño máximo) como parámetro. El ejercicio 6a referido es un híbrido entre acotado y no acotado, ya que siempre se puede insertar (no hay precondición) pero solo cierta cantidad máxima se considera. Por lo primero parece no acotado pero por lo segundo se limita la cantidad de elementos y en tal sentido se comporta como acotado.
5) En lenguaje coloquial, estas directivas evitan que al incluirse más de una vez lo limitado por las declaraciones se produzca el error de redefinición. Esto es, se define algo la primera vez y se ignoran las posteriores.
Saludos, Carlos