Serial Transmition Stopping?

I don't agree with @PaulS about global variables. I like using global variables in the small Arduino environment as I can see how I am using my memory. I would use local variables within a function but life is too short to bother with passing parameters and receiving return values. I do use return values for small helper functions that, for example, work out the allowed limits for a value.

I don't think Paul was commenting on your use of functions - only on how you name them and how you name variables. It can be argued that you can use any names you like in your own program. But my personal experience is that Paul's is excellent advice - especially when your code gets a bit more complicated or if you are trying to remember what it does after an absence of 6 months. The other great advantage of carefully chosen names is that they become self-documenting. Remember that long names don't consume any program space - they are just for the information of you and the compiler.

The other important reason for using descriptive names is when you come looking for advice here. It makes your code many many times easier for us to follow. If I can't quickly see what somebody's code does I usually just pass on to another query on the basis "if s/he can't be bothered, why should I?"

The C String functions are not really suitable for the limited memory in an Arduino.

...R