The definition of the s format specifier is that it consumes:
"Any number of non-whitespace characters, stopping at the first whitespace character found."
Minutes do not look like whitespace characters. Perhaps you intended:
sscanf(stringIn, "%d,%*1s,%d", &tzhour, &tzminute);
(notice the added 1)
It would help if you would tell us what text string the GPS unit produces.
Good luck!