Pay no attention to the man behind the curtain. (or was that a mask)

With DT_INTS, nothing is "blocking" except the interrupt handlers themselves.

And if the conditions that generated the interrupt are not cleared, the handler will continue "blocking" everything.

In your MotorDrive routine (RBC_INT handler), you MUST read PORTB to end the mismatch condition.

Additionally, the statements to read the encoder should be in that handler too.

Here's a snippet from SteveB for 2 rotary encoders, may give you some ideas.
http://www.picbasic.co.uk/forum/showthread.php?p=25396

hth,