Okay ... sorry, all. I found the solution. It was an if statement that was screwing things up. Anyway, here is the updated code of the if statement that was causing the problem:
if ((subArrNo > total_number_of_subarrays) && (remSizeSubArr >= 2))
{
if (remSwaps != 0)
break;
subArrLen = remSizeSubArr;
mainIndex++;
remSwaps++;
goto BubbleSort;
}