I found the double casting. Each character has an ATB progress bar like ff5 and ff6 but hidden from the user. Once this bar fills up, it is put into a queue. If a person dies and was already in that queue then he will remain in that queue. You can revive the person before he gets his turn and he'll get the turn that he was supposed to get before dying. However, his ATB resets so he can rejoin the queue while casting/attacking. This works on any character.
I found this by looking at address 00D0 which decides who is acting. So I searched the code for LDA $#D0 and found this bit of code:
a_3a3e3_3a439:
m_LDA $#d0 // PC[3a439]={a5 d0 } s0
m_CMP #ff // PC[3a43b]={c9 ff } s0
▼▼BEQ $#=_a463 // PC[3a43d]={f0 24 } s0
a_3a3e3_3a463:
m_LDA $#352d // PC[3a463]={ad 2d 35 } s0
▼▼BNE $#=_a4c7 // PC[3a466]={d0 5f } s0
m_LDA $#3929 // PC[3a468]={ad 29 39 } s0
m_CMP #ff // PC[3a46b]={c9 ff } s0
▼▼BEQ $#=_a4c7 // PC[3a46d]={f0 58 } s0
m_PHA // PC[3a46f]={48 } s1
m_TDC // PC[3a470]={7b } s1
m_TAX // PC[3a471]={aa } s1
a_3a3e3_3a472:
m_LDA $#392a,X // PC[3a472]={bd 2a 39 } s1
m_STA $#3929,X // PC[3a475]={9d 29 39 } s1
__INX // PC[3a478]={e8 } s1
__CPX #0005 // PC[3a479]={e0 05 00 } s1
▲▲BNE $#=_a472 // PC[3a47c]={d0 f4 } s1
m_DEC $#392f // PC[3a47e]={ce 2f 39 } s1
At the end of this code is the loop removing someone from the queue as he gets his turn. The last element in the array doesn't get changed afterward so if it's possible to get the same person twice into the queue then we can get infinite turn on one character but unfortunately the game prevents one character from being put into the queue twice.