There is a slight chance that the "ICS" hack is causing the symptoms that you are seeing. Here is how that might happen.
On the UDB3, there are 4 choices for the pair of pins for debugging using the PICkit, including the two pins that are used for the serial data. If that port somehow got selected, I am not sure what would happen, it might cause trouble.
In the earliest version of MatrixPilot and MPLAB, you set the selection of the debugging port using MPLAB. Later, Microchip moved the selection of debugging port to software. You specified which port to use by specifying the value for _ICS. The port that is supposed to be selected is the pair of pins in the ICSP.
However, when you tried to do your build, the build failed at the line that was specifying _ICS. So, I told you to comment out that line. However, with that line removed, it is possible the debugging port is set to the wrong pair of pins.
So, if you want to dig a little deeper, please do this. (I assume you are still using MPLAB).
Do a clean build of the software you are using on the UDB3 in question. When you are done, select the Configure tab at the top of MPLAB, go down to the Configuration Bits menu item, and select that. Take a screen capture of what you see and send it to me. I have attached a typical view of that window, but keep in mind, I did not do a build, I am just showing you what the window looks like.
The item that we are interested in is the last item, "ICS". The correct value for MatrixPilot on a UDB3 is C003.
If you are seeing some other value, we are going to have to figure out a way to get it set to C003. There are several ways we might do that, but first lets find out if that might be the problem.
Best regards,
Bill