What exactly is the problem? Is it not scanning anything/just some of the input? I have had some quirky behavior from the scanf family of functions. Nowdays I fgets everything and convert to the appropriate data type...

But what about the other aspects of the function? Are they working OK?

Well as far as the scanning part, you could use/modify this function:

Code:
int GetNextInt(char *string,  int *next)
{
 int len = strlen(string);
 char temp[len] ;
 int i, j = 0;
 int flag = 0;
 int result = 0;

for(i = *next; i < len; i++)
   {
    if(isdigit(string[i]))
    {
       temp[j] = string[i];
       j++;
       flag = 1;
    }

    if(!isdigit(string[i]))
    {
      if(flag == 1)
       {

        temp[j] = '\0';
        break;
       }
    }
   }
*next = ++i;

 result = atoi(temp);
 return result;
}
It will faithfully retrieve each int one-by-one.
One thing though, remember to reset the second parameter (int *next) to zero when you start processing another string.

int next = 0;
char string[] = "Today's High Was 97, The Low Was 76.";
int hi = 0, lo = 0;
hi = GetNextInt(string, &next);
lo = GetNextInt(string, &next);
next = 0; // <--- reset, so ready for next string


Notice you can easily modify this function to be a function which counts the ints in an input string...very useful for verifying input.

I couldn't compile your code because there were data structures that I would have to define on my system so I can't say for sure but it looked like potential errors were present...
I didn't quite grasp some of the coding style though...