Steve,

Well it must be either something querky with either the programming software or the 18F series of chips (or just the 18F2550)

I tried repeating some of the things here but using a 16F873A PIC (just happened to have a couple in my hobby box - no other reason) I compiled the following code (edited version of your test code)

Code:
ADCON1=$0F
TRISB=%00000000                  'set PORTB as all output
PORTB=0

ByteA   var byte
 
main:
    for bytea=0 to 7
        PORTB=DCD BYTEA
        PAUSE 250
        NEXT
    PORTB=255
    PAUSE 250
    goto main
It compiled with out error and loaded without error (using either application, Winpic or PICpgm). This was using the default INC files I also tried my original code (in post 1 I think) and that too loaded fine. But try as I might, even though the programmer, both software and hardware claim to support 18F2550's I can't get it to work with this PIC.

I've yet to breadboard and test the PIC - and I need to swatt up on the datasheet to see what this 16F873A offers, but as I don't need anything too fancy I'm sure it will do just fine (assuming I can get the hardware running)