I've tested PICPgm v0.9.9.3 with my JDM programmer and it works. This version has support for burning the “ID Locations”, which is required for the bootloader and MIOS. It also supports PIC18F452, PIC18F4620, PIC16F88 and PIC18F4685.
NOTE: The “ID Locations” are shown differently to ICProg. ICProg (and the MIDIbox doco) shows the ID locations as an 8 byte (16 hex digit) string, with the Device ID as the byte on the far right. In PICPgm, this is the last value in the list (location 20007)