Be careful using HL to store one byte into an address, when you're storing HL into CURCOL, you're also updating CUROFFSET. Check out ti83plus.inc:
curRow EQU 844Bh
curCol EQU 844Ch
curOffset EQU 844Dh
As HL is a 2-byte register, you load the value of L into CURCOL ($844C) and the value of H into CURCOL+1 ($844D aka CUROFFSET). You could use the accumulator (A) instead, or just load HL into CURROW to update both CURROW and CURCOL.