Ese problema (el primero), ya lo tuve yo. Como muy bien dices, no se puede copiar una base de datos abierta con un control de datos Data. Hay que cerrar primero esa base de datos, pero a parte de cerrar la base de datos hay que liberar la memoria, porque si no tampoco te deja copiarlo.
Para cerrar la base de datos desde el control de datos Data y liberar la memoria, tienes que hacer esto:
Data1.Recordset.Close
Set Data1.Recordset = Nothing
Apunta esto porque me costó encontrarlo..
Para borrar todos los registros puedes hacer un sencillo bucle y dar a todos los campos el valor "".
ej.
Data1.recordset.movefirst
Do Until Data1.Recordset.EOF
Data1.Recordset("campo") = ""
Data1.Recordset.MoveNext
Loop
e insertas todos los campos que tienes..
Un saludo