Program using a button timer

OK. Given that then I see a few issues:

  1. In loop() you call CheckForTimeDone() within the conditional that checks for a button press. The problem is that ButtonResponse() sets the buttonIsPressed to false so once you call that you never call CheckForTimeDone() again.

  2. CheckForTimeDone() never sets interruptCounter to false because you return before that line of code is executed:

bool CheckForTimeDone() {
  if (interruptCounter) {
    return true;
    interruptCounter = false;
  }
  else
    return false;
}
  1. In general, you have an unnecessary number of small functions that make your code hard to read.