ScottG:
If I pass a character array to a function, then add to it by using strcat() will my program adjust the memory allocated for this char array, or am I going to run into a memory problem.
You are going to run into problems and overwrite whatever happens to be adjacent to your array. Strcat is fairly low level, and it assumes you have already checked that there is enough space allocated in the array to hold the current string plus the new string and the trailing byte. There is the String class that does what you want, but since it uses dynamic memory allocation, it is subject to running out of memory. I tend to be of the opinion that in a memory poor environment like the Arduino you should never use dynamic allocation (or if you must, only use it very sparingly).