こんなんどうだろ。
char *strcaserchr(char *s, int c)
{
char *p=strrchr(s, toupper(c));
char *q=strrchr(s, tolower(c));
retrun (p-q > 0) ? p : q;
}