Might want to double check your changes in deity.c, because in the 1.64 code I see:
ch->pcdata->favor = -2500;
ch->mental_state = -80;
send_to_char( "A terrible curse afflicts you as you forsake a deity!\r\n", ch );
and that clearly brings the count of worshipers down by one. You are right in that it's not checking for zero, but it probably doesn't get noticed often since the pfile cleanup code will correct that count if it's enabled.
In any case, a fix for this issue, and one for clans as well, has been posted to the fix list.