Hi,
Have you looked at the datasheet for the 18F4550 and compared it against the 16F877A? What's the difference regarding TMR0?

First, T0CON = %10110111
Bit7=1: TMR0 ON
Bit6=0: TMR0 is a 16bit timer/counter
Bit5=1: Transition on T0CKI Pin
Bit4=1: Increment on falling edge
Bit3=0: Prescaler assigned to TMR0
Bit2-0 = 1: Prescaler ration 1:256

Is that what you want? Why do want a prescaler ratio of 256? And do you need it to be a 16bit mode?
Try T0CON = %11111000 instead, or change bit4 if you want rising edge.

If you do look in the datasheet(s) you'll see that on the 16F TMR0 is 8bits wide and there is one register for it (TMR0) but on the the 18F it can be either 8bit or 16bit. Therefor they have changed the register name from TMR0 to TMR0L (low) and TMR0H (high). You need to make the corresponding changes in your program.

/Henrik.