The timer continues counting no matter what the program is doing.

And yes, it does take time to save all the PBP system registers before it gets to the interrupt handler.
But that has no affect on the reload value.

Your problem before was that you were overwriting the timers value with TMR1L = 0.

Here is the program I used with the Digital Clock Generator shown above, and it does keep perfect time.
Code:
;--------------------------------------------------------------
wsave        VAR BYTE $70 SYSTEM
INCLUDE "DT_INTS-14.bas"     ; Base Interrupt System
INCLUDE "ReEnterPBP.bas"     ; Include if using PBP interrupts

ASM
INT_LIST  macro    ; IntSource,    Label,  Type, ResetFlag?
        INT_Handler   TMR1_INT,   _Clock,   PBP,  yes
    endm
    INT_CREATE               ; Creates the interrupt processor
ENDASM

@   INT_ENABLE   TMR1_INT     ; enable external (INT) interrupts
;--------------------------------------------------------------
Sec          VAR BYTE
Minute       VAR BYTE
Hour         VAR BYTE
SecChanged   VAR BIT

;--------------------------------------------------------------
ADCON1 = 7
TMR1L = 0
TMR1H = $80
T1CON = %00001011
PAUSE 250
LCDOUT $FE,1

;--------------------------------------------------------------
Main:
    IF SecChanged THEN
        SecChanged = 0
        LCDOUT $FE,$80, DEC2 Hour,":",DEC2 Minute,":",DEC2 Sec 
    ENDIF
GOTO Main

;--------------------------------------------------------------
Clock:
    TMR1H.7 = 1
    Sec = Sec + 1
    SecChanged = 1
    IF Sec = 60 THEN Sec = 0 : Minute = Minute + 1
    IF Minute = 60 THEN Minute = 0 : Hour = Hour + 1
    IF Hour = 24 THEN Hour = 0
@ INT_RETURN