** DIDN'T KNOW MX795 had ethernet while writing the bid **
I have experience with Over The Air updates but not as bootloaders but as a library that you link against and the update method can be called over the air (the update should be linked against that library too for the update to perpetuate). The device itself was wifi for the aforementioned method, but it can connect through SPI to PIC and call update method, in this case a SPI-update library will have to be made and linked with every build.
I also have experience with bootloader for ATMEL, and I am not talking about Arduino bootloader. The experience is by no means extensive, but as far as I understand, it seems to be a pretty straight forward job making a bootloader. To use a bootloader instead of linking a library everytime, the wifi update will then work by resetting the device through the wifi device and creating a bootload signal which would then initiate the process of transferring of code.
My weapon of choice is sub 2$ wifi module ESP-12E