I agree with Andy - you most probably confuse bootloader (which is a program stored in ROM) corruption with bootvector (which is a single FLASH byte) corruption.
If you don't have access to parallel programmer, and are willing to experiment, are not afraid you might destroy your chip, and have a board where you can run the '51 with completely external code memory, I can send you a short code which might restore the bootvector and status byte. However, you will do that on your own risk - I tried it only on a H-suffix chip (P89C51RD2HBP).
Jan Waclawek