Understanding transactions in orphan blocks This is in regards to Testnet.

I found a transaction that was confirmed in two blocks that were 106 blocks apart (923,255 &amp; 923,149). 

Block 923,149 is part of the main chain and 923,255 was orphaned.

My question is, how can a transaction be in two blocks so far apart and the latter being orphaned?
I haven't looked at this particular case, but it sound like a "simple" reorg.

When a 106 or more blocks re-organization happens: in this case block 923,255 was in the main chain, but then someone forked the chain at 923,149 (or earlier) and created new blocks. For whatever reason that fork became longer than what was the main chain and thus the fork became the main chain, leaving 923,255 and neighbouring blocks orphaned.

Note that this can easily happen on the testnet and is probably done on purpose by people to test their sortware's ability to handle (long) re-orgs for example. If such a re-org would happen on the real Bitcoin chain, it would be quite a disaster. In principle all transactions in those 106 blocks could have been double-spent. On the mainnet, it regularly happens with 1 or 2 block forks (just a matter of chance), but anything more is remarkable and luckily rare.