OK, I think I found a solution. This function gets called prior to the aforementioned bit 6 check, if and only if Palidor has been Summoned. This is taken directly from your bank C2 disassembly.
C2/0B4A: C2 20 REP #$20 (Set 16-bit Accumulator)
C2/0B4C: BD 18 30 LDA $3018,X
C2/0B4F: 0C 2C 3F TSB $3F2C (flag entity as Jumping)
C2/0B52: E2 20 SEP #$20 (Set 8-bit Accumulator)
C2/0B54: BD A0 3A LDA $3AA0,X
C2/0B57: 29 9B AND #$9B
C2/0B59: 09 08 ORA #$08
C2/0B5B: 9D A0 3A STA $3AA0,X
C2/0B5E: AC 66 3A LDY $3A66 (get current action queue position?)
C2/0B61: 8A TXA
C2/0B62: D9 20 38 CMP $3820,Y (does queue entry match our current entity?)
C2/0B65: D0 05 BNE $0B6C (if not, branch and move to next entry)
C2/0B67: A9 FF LDA #$FF
C2/0B69: 99 20 38 STA $3820,Y (if there was a match, null out this queue entry)
C2/0B6C: C8 INY (move to next entry)
C2/0B6D: CC 67 3A CPY $3A67
C2/0B70: 90 EF BCC $0B61 (keep looping until position matches next available
queue slot -- i.e., we've checked through the end of
the queue)
C2/0B72: BD 05 32 LDA $3205,X
C2/0B75: 29 7F AND #$7F
C2/0B77: 9D 05 32 STA $3205,X
C2/0B7A: 9E B5 3A STZ $3AB5,X (zero top byte of Wait Timer)
C2/0B7D: A9 E0 LDA #$E0
C2/0B7F: 9D 2C 32 STA $322C,X (save delay between inputting command and performing it.
iow, how long you spend in the "ready stance." E0h
is the same delay as the Jump command, and its ready
stance constitutes the character being airborne.)
C2/0B82: 60 RTS
All you have to do is substitute this in at the end:
C2/0B72: 1E 05 32 ASL $3205,X (clear top bit)
C2/0B75: 5E 05 32 LSR $3205,X (put bits back)
C2/0B78: 9E B5 3A STZ $3AB5,X (zero top byte of Wait Timer)
C2/0B7B: A9 E0 LDA #$E0
C2/0B7D: 9D 2C 32 STA $322C,X (save delay between inputting command and performing it)
C2/0B80: 4C 30 07 JMP $0730 (clear bit 6 of $3204,X)
Of course, this solution won't work if "Dead in the Air" Fix A is applied. In that case, you may need to use up some free space.