Well, I'm not really sure why you're getting such a volatile error, because it sounds to me like the stack is getting b0rked, and this can happen in a call before your function that declares the char array. Normally, specially if the code looks sound and nothing is being done to the string array, that a stack error can occur because of something that happens in the previous function in the call stack.
Also, can you make sure that you disable any optimization compiler flags, just to be sure that the compiler isn't trying something with duplicate strings?
Other than that, unless you can provide a full sample or a cut down sample that replicates the error, I can't suggest anything else.
Paul.