Here's my proof:
We designate an active pool that includes precisely those integers that will be involved in the process at some point, and for which there exists at least one integer such that performing the process on the pair actually results in the changing of the set. Then we implement the following iterative process:
Choose any two arbitrary integers in the active pool and replace them by their GCD and LCM. Then, if the GCD will never be used for the process again, we remove it from the active pool. If the GCD is $1$, it is also removed from the active pool. Otherwise, it is placed in the active pool, and the process reiterates.
Clearly, this process halts in finitely many steps, as size of the active pool is reduced to nil, and thus when the numbers stop changing.
I don't think that the proof is incorrect, but it feels uneasy. So, is it actually correct?
I don't quite follow your proof, but the claim is in fact true:
Consider the number of pairs of values (A, B) where A and B come from the (constantly being altered) multiset of values in play and such that A divides B. [I shall call these "divisibility pairs"]
I claim that in each nontrivial replacement step, this number goes up.
Proof: Suppose we choose to replace A and B by LCM(A, B) and GCD(A, B). [This is non-trivial just in case neither A nor B already divided the other].
For every other value C from the multiset, if it divided one of A and B, it also divides LCM(A, B), and if it divided both of A and B, it divides both LCM(A, B) and GCD(A, B). Similarly, if it was divisible by one of A and B, it is divisible by GCD(A, B), and if it was divisible by both of A and B, it is divisible by both of LCM(A, B) and GCD(A, B).
So the number of divisibility pairs in which any other elements from the multiset were involved do not go down. Furthermore, originally, there was no divisibility pair using just A and B, but afterwards, we have a divisibility pair using just their replacements, (LCM(A, B), GCD(A, B)). Thus, in each step, the number of divisibility pairs goes up by 1.
However, this number cannot keep rising forever (from a multiset of size $n$, there are only $n^2$ pairs to even look at). So at some point, it must no longer be possible to make any further replacements, and we are done.
A complementary way of looking at this is that the number of pairs which are NOT divisibility pairs keeps going down; it cannot go down forever, so at some point it must stop, and indeed, at that point there will be none (for each non-divisibility pair corresponds to a possible next replacement step).