You might want to just try the whole program I posted, instead of making the changes to yours. Because I think you've missed something.

With the SDEC modifier in the lcdout statements, it will read -1, -2, -3 etc. And will never show 65535.

There are several other subtle changes too.
<DT>