I know its too late for this time

, but you need to be careful which code you download to your microcontroller. Kevin Watson's serial driver hex was compiled for the PIC18F8722, while the vex controller uses the PIC18F8520.
These two processors are very different in that the 8722 has 4 flash memory banks and the 8520 has just one. This could cause the IFI bootloader to write only 25% of the code, or could possibly overwrite its own code during the programming process.
Also, I believe that the VEX controller's I2C packets that communicate between the User and Master (control) processor are constructed with different memory pointer offsets than on the FRC controller.
I'll be checking in on this thread now and then if anyone has questions.
-Q