You need an actual ICD2 bootloader, one that MPLAB will recognize. There's one for the 16F877, and one for the 16F876 included with your MPLAB installation.
If you're using a 16F876A, there's an updated bootloader circulating (see attached).
I think you can use the 16F877 bootloader with the 16F877A, but don't quote me on that.
I built mine with a 16F876A and the attached bootloader.
You are not quite right.
There are two bootloaders, one for 16F876/16877 (can be found in MPLAB dirrectory) and the one for 16F876A/16F877A (that 661.hex you attached).
It doesn't matter if you use 876 or 877 in your design (only that 876 is smaller), it works the same.