Greetings! Newbie here.

I am using a 16F876A with the ME Labs U2 programmer and MCS+ v 3.0.0.5. It's slow going but I'm learning. I managed to successfully load the bootloader, establish correct serial communication, and program the PIC using the bootloader several times with different programs. So it was working...

Today I wanted to learn a bit about the ICD function, using the same program I had been working with, and selected ICD compile and program. That didn't work (error message regarding missing debug files), so I wanted to go back to the original program and make sure it was working. It didn't, and I suspected maybe the bootloader code was overwritten, so I tried to reload it using the U2 programmer, put the PIC back into my circuit, then compile and program the PIC with the original program using the Microcode Loader as the programmer. Programming hangs on the "reset microcontroller" message despite me cycling power to the PIC.

Just to be sure, here are the steps I took to load the Bootloader code and then my program:

(1) Insert PIC into U2 programmer,
(2) Open meLabs programmer and select the pre-compiled 16F876A_04.hex file,
(3) In the View...Configuration menu, set to "Not Protected",
(4) Select Program,
(5) Remove PIC from programmer and insert into circuit,
(6) Launch MCS+, load program, select Compile and Program.
(7) When the "Reset Required" message appears, cycle power to PIC and wait, and wait, and wait. Then, nothing.

A couple of questions:

(1) How to verify that the bootloader code exists in the chip after programming? And is it an easy mistake to accidentally overwrite it? I don't recall doing anything special the first time I loaded the bootloader code, although I stumbled through it until it worked and don't recall exactly what I did.

(2) Did I somehow invoke some ICD mode by selecting ICD compile and program, and could that be preventing the original program from being loaded?

(3) What have I missed or messed up?

Below is the program I got to work and now can't:

Code:
Define LOADER_USED 1     'Only required if bootloader used to program PIC
define OSC 4

Init:
    adcon1 = 6                  ' Set all PortA to digital I/O
    trisa = %00000001           ' set PortA RA4-RA1 to outputs, RA0 input
    porta = %00000010           ' Set PortA RA1 high to turn on LED1

Main:
	' *** Test the switch state ***
	if portA.0 = 0 then led2 'If switch is pressed then jump to LED2 routine 
 
	PortA.1 = 1            ' Turn LED1 on
        portA.2 = 0            ' Turn LED2 off
	goto Main              ' Jump to the top of the main loop

LED2:
	'*** Turn LED2 on ***
	porta.2 = 1            ' LED2 on 
        porta.1 = 0            ' LED1 off
	goto Main			   ' Jump to the top of the main loop
Thanks in advance for any help you can offer!