Liquidity stack entry is like an open tap on the pipeline that pays specific number of coins to Bob.
After that the tap closes.
The scenario in which Alice permanently redirects funds to Bob is possible. But it is not done in practice
precisely, as you correctly noticed, is to avoid Alice losing control of future incoming payments to her old address.
Tipping the same addresses has no effect. Only the first time tips to a certain segwit address triggers an action.
And there are no funds in Alice's old address anymore. Everything is either inside liquidity
stack, inside Bob's wallet and or inside Alice's new address.
So, to pay Bob 1 coin alice signs the transaction:
txid = SHA256(alice_old_address CAT SHA256(alice_new_address CAT bob_address CAT 1 coin))
but not what you wrote:
txid = SHA256(alice_old_address CAT SHA256(alice_old_address CAT bob_address CAT 1 coin))
because this would cause 1 coin to go to Bob and the remaining Alice's coins would get looped in a coin eating loop.
The exciting thing about the liquidity stack is how no matter how many receivers there are, only the 21 addresses need to be funded.
For the first time in history Alice can literally pay to millions of people on the Bitcoin chain. Here's how:
stack0 = alice_new_address
stack1 = SHA256(stack0 CAT person1 CAT 0.00000001 coin)
stack2 = SHA256(stack1 CAT person2 CAT 0.00000001 coin)
stack3 = SHA256(stack2 CAT person3 CAT 0.00000001 coin)
....
stack999999 = SHA256(stack999998 CAT person999999 CAT 0.00000001 coin)
stack1000000 = SHA256(stack999999 CAT person1000000 CAT 0.00000001 coin)
txid = SHA256(alice_old_address CAT stack1000000)
When Alice signs txid and commits to it with 6 confirmations, her 0.01 coin gets paid to 1000000 people (0.00000001 coin each).
Deciders are a different matter altogether.