Sensor Test -- something simple must be wrong here?

Testing out a flow sensor (
This blinks the LED normal (2 times, at 1 second each) as the loop shows, but when I blow through the flow sensor, it shows the increasing pulses on the serial monitor, but when it reaches the limit, it flashes the LED 3 times, but so fast I can hardly tell. If I change the line to blink(ledPin, 3, 30000); then it flashes at about one per second!
What is wrong here!?

const int ledPin = 13;  //LED pin 
volatile int FlowSensorCount;  //the counter for the flow sensor

void setup() {
//Setup Pins
pinMode(ledPin, OUTPUT);     
attachInterrupt(0, CountPulse, RISING);  //turn on interrupt for flow sensor on pin 2

void loop()

      if (FlowSensorCount > 30)
        blink(ledPin, 3, 3000);
        FlowSensorCount = 0;

blink ( ledPin, 2, 1000);

void blink(int whatPin, int howManyTimes, int milliSecs) {  
    int i = 0;
    for ( i = 0; i < howManyTimes; i++) {
      digitalWrite(whatPin, HIGH);
      digitalWrite(whatPin, LOW);

void CountPulse() 
   FlowSensorCount++;  //increases the count from the interupt pin 2

delay() requires interrupts be enabled for it to work. So when you disable interrupts during your FlowSensorCount check, you are disabling delay().

Thanks! I was about to pull my hair out!