I'm having a problem with the timers on the 18F4550. I wrote the below code to test the timer, but im getting unexpected results:

Code:
Define OSC 48     

DEFINE LCD_DREG      PORTD 
DEFINE LCD_DBIT      4
DEFINE LCD_RSREG     PORTC   
DEFINE LCD_RSBIT     1
DEFINE LCD_EREG      PORTC                            
DEFINE LCD_EBIT      2
DEFINE LCD_BITS      4                               
DEFINE LCD_LINES     2                           
DEFINE LCD_COMMANDUS 2000                             
DEFINE LCD_DATAUS    50                                     

temp var byte

' Timer 0: 8-Bit, 1:256 prescaler, 128uS/tick
T0CON=%11010111             

TMR0L=0
pauseus 2048
temp=TMR0L
lcdout $FE,1,$FE,2,#temp

loop: goto loop
At 128uS per tick of the timer, i'd expect a result of about 8, however I get 95.

I have a 4Mhz crystal, and heres my config:

Code:
        __CONFIG    _CONFIG1L, _PLLDIV_1_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
        __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H
        __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
        __CONFIG    _CONFIG3H, _PBADEN_OFF_3H
        __CONFIG    _CONFIG4L, _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L