To "Remove a program" as in wipe out the program to get rid of it:
Create a gml diagram with a start and end block, connect a line between them, validate, verify, translate (or whatever term GML uses to prove the legitimacy of the code). I am not sure if there are any other requirements other than a start and end block.
Configure Axes...if you want a clean slate with no axes, maybe you can delete them? It has been over a decade since I worked with GML, but I am pretty sure you can create a GML diagram with no axes configured.
Configure channels and other settings...I rarely worked with the 1394 Turbo (which I think is what your part number implies). IIRC, it was designed to support connection to a SLC as a RIO rack, so you may want to set those values for rack number, size, etc to default values.
User variables...I think you may want to ensure that there are no user variables...I think that any that exist in the controller will be "blown away" if you download a diagram without them. Not 100% sure.
After all that, download the diagram.
If by "remove the program" your intent is to obtain a copy of what is in the system:
You can upload the script, but that isn't everything you need to replicate a system. Also, the script cannot be automatically turned back into a GML diagram. A GML diagram gets turned into a script (structured text language specific to the controller) when you download it to the controller. In order to turn a script txt file back into a diagram, you would have to go line by line through the uploaded txt file and figure out the flow of the logic, and convert the mnemonics back into their corresponding GML blocks and paths. At one time, there was a Creonics manual that I used to do this. I believe there are a few bits and pieces that may be impossible to recover, and it is very time consuming and subject to mistakes. It is much better if you can get the original GML diagram.
With all that said, you can still replicate a system without the GML diagram.
To "clone" a controller, you need the script, the setups, and one other file...memories are fading on this, but I seem to recall three separate pieces. The script is the logic, the setup file has to do with how memory and variable and other channels are configured and the gains...that's it, the third piece is the gain settings for the axes. Retrieving and sending the gains and the "setups" ... (I think that is what it was called) ... is separate action from uploading the script, not really intuitive that it needs to be done, and you have to drill into the axis monitoring windows to upload/download gains.
It is possible to monitor a GML diagram while online and "trace" the logic at runtime, but it usually isn't very practical. It is as close as you can get to the same sort of monitoring that can be done watching ladder logic while online.
What is normally done is to use "Print" blocks in the diagram and setting up views of the system, user, and axis variables to monitor the conditions in the controller. Print blocks can be directed at a text display through a communication channel or to the terminal window. Now I am getting off subject.