Tabsoft, you are absolutely right on both the counts.

In the case of the code taken from Darrel's test program, the Option_Reg setting is hex 81 which is binary 10000001. Bits 2-0 are "001" which means that the prescaler is set to 1:4 and not 1:256 as shown in the comment. As you have mentioned, possibly, the comment has not been updated. Henrik was also right in saying that the TMR0 setting did not seem to match the comment in the code.

The settings you suggested are 1:32 prescaler for TMR0 and if the count >= 61, toggle the LED and reset the counter. This indeed gives ~1Hz blinking rate. In my previous post I mentioned that I tried 1:32 prescaler and changed it to 1:16 to make the LED blink at 1Hz. This is incorrect. In the 16F87/88 datasheet under Option_Reg, a table is shown with 3 column headings - BitValue, TMR0 Rate & WDT Rate. For 1:32 prescaler, by mistake I took the WDT value (101 in Col. 3) instead of TMR0 value (100 in Col. 2). This was the reason for the 0.5Hz rate. In fact in my final version, I have used the value you suggested (100 for 1:32) and they work perfectly.

Thanks again for all the help.

Regards,
Bala