Re: What is the preferred way to develop a Bootloader for PIC24 devices?
Our company is using the EZBL for a commercial project, and it's pretty spectacular. It downloads fast, and does a lot of best practice bootloader stuff like having keys to verify that the code you're downloading is intended for the platform receiving it. It's a lot to swallow at first, but worth it.
If you're looking for something lighter weight, take a look at AN1157.
Personally, I find that for my own projects I'm usually happiest writing my own. Simple ones are pretty easy, once you figure out how to get all the bytes to go in the right places (PIC24 is fiddly that way, because of all the extra 0's you end up with in your hex file since only 3 of 4 bytes will actually program).
Where possible (such as a UART bootloader), I'm a big fan of writing the bootloader first in C under Visual Studio, and simulating it on a PC. You replace the flash writing parts with file write parts, and when you're done you can compare the file you attempted to send with the file written by the PC compilation of your bootloader, and easily confirm where they are the same. Then, assuming you have the flash routines, porting them is pretty simple. The most complicated BL I did was for CAN with a really complex customer's protocol, and this paid off big time due to the ability to easily generate long logs and debug the protocol in VS before moving it to the embedded side.