DECFSZ won't work on PIC16LF1823
CBLOCK needs a value, otherwise it will be zero, and the variable won't be in in RAM. Set it to 0x20, which puts it at the start of the General Purpose RAM block.

I can't see anything wrong with your delay routine and it worked OK when I simulated it to make sure, with CBLOCK set to 0x20.

Remove the CLRWDT instruction and disable the WDT.

Put

d1   res   1

at the end of your program if you want to use Olin's preferred technique.