Funcionar, funcionaría si cambias Open por ExecSQL y, como dice Casimiro, te falta borrar en tabla 1.
Si lo que quieres es que esté todo en el mismo botón, hazlo en el mismo botón y después del insert borras
Código Delphi
[-]
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO Tabla2');
SQL.Add('SELECT * FROM Tabla1');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('DELETE Tabla1');
ExecSQL;
end;