as far as I can remember the problem is:

on an erased (or new) chip the LVP bit is set.
the datasheet says the high voltage mode overrides the LVP-mode but this is not really true.

To program the device RB4 must either be floating or pulled low.
With a pullup on RB4 you will not be able to program a device that has the LVP-Bit set.

regards