I haven't seen a diode used. For ESD reasons, it looks very foolish frankly. The +5V rail can only pull the pin up, it can't pull it down, so anything which induces voltages on the pin is totally unlimited and can put it into programming mode and corrupt the program memory. Unlike all other PIC pins, there is not even an input protection diode on MCLR.
I saw one story about a guy who designed this, programmed the chips, and sprayed the PCBs with a protective laquer. The static from the spray took out the program space. This is bad!
I also have to note that the +5V rail can theoretically drop to 0V and back up without ever pulling down MCLR, which leaves the registers corrupted.
The only reason I saw to do it would be if your programming circuit had a very weak current driving ability, in which case you could increase the resistance of the resistor, unless somehow it exceeds reasonable bounds, in which case maybe a better programming driver is in order.
In short, just use a resistor.