Can someone clear something up for me.
Given that the txid is unreliable for tracking purposes, what is the best way to track the status of a transaction automatically?
The txid is only mutatable until it's included in a block. Then the Txid is immutable.
Therefore, I'd characterize the question as "How do you track a transaction from creation until inclusion in a block?"
The current solution I'm working through is
1. You track the inputs/outputs (or if you are manually creating a transaction then maybe the rawtransaction)
2. Optionally store the intermediate TxId
3. Wire up bitcoind using -blocknotify
4. Scan each incoming block for your inputs/outputs
5. If #4 finds a match then you assume the transaction is the same as the one you generated
6. Store the TxId from #5 replacing the TxId from #2 if necessary.
However, I'm uncertain if the match logic used in #4 is guaranteed to be unique.