It looks like it will only check the OVER switch every half second. Unless the OVER switch always stays closed for more than half a second you could miss it.
void loop() {
unsigned long currentTime = millis();
OVERState = digitalRead(OVERpin); //check the state of OVERpin
if (OVERState != lastOVERState && currentTime - lastDebounceTime >= interval) {
lastDebounceTime = currentTime; // save the last time you lit an LED
lastOVERState = OVERState; // save the current state as the last state for next time through the loop
// if the state has changed check if OVERpin is HIGH
if (OVERState == HIGH) {
// if the current state is HIGH then switch1 went from closed to open, increment the counter
k++;
}
}
}
}