First I did as Henrik suggested, trying to pull down the Tx line (100 ohms, didn't work). The MCLR is high, not reset.

Then I changed the Config statement per Dave, in my own program. Didn't change anything: LED blinks when normal compile, but won't blink on ICD compile.

So I ran Dave's program but my PortA.7 (since LED was there). His had CMCon=7, otherwise program is the same. Got same results. So I used EXACTLY Dave's program ie PortB.4 and still the same results.

Bottom line: program works when I normal compile, doesn't work when I ICD compile.

NOTE: the RS232 lines were NOT connected whatsoever, the power for my breadboarded circuit (the 16F628a) is from the LABX-1 to make sure it's clean power, and the CONFIG statement Dave provided cannot have the CPD_OFF fuse because it doesn't exist in a 16F628A.INC file. The program won't compile with CPD_OFF in the string.

I noted that an ICD compile REALLY adds a LOT of overhead to the ASM file. Could this extra code be trashing memory?

I don't understand how your program can work on a 16F628a whereas mine won't even compile. I tried a DIFFERENT chip and get the same results.

I haven't done the loopback yet for obvious reasons.