Could be that since you're not working on a variable, but a fixed string the compiler optimizes away the loop and the tolower() call. Since you might expect to see the function called (eg. for profiling purposes) it warns you that there'll be no such call.
Given char A[50] = ""; and count=0;, the compiler can put two and two together and realize that A[count] is A[0] is the first character of the empty string "", which is NULL, therefore, the code inside the loop will never execute.
[edit] I missed the strcat. And so is the compiler. Must be a bug. It is a variable, but it's initialized from a fixed string, so the optimizer may be treating it as such.