Never a good idea to block interrupts around I/O calls like this:
noInterrupts();
lcd.print (pulseCount3);
lcd.print (pulseCount2);
interrupts();
always copy the variables, then enable interrupts before the (potentially glacially slow I/O).
noInterrupts();
long c3 = pulseCount3 ;
long c2 = pulseCount2 ;
interrupts();
lcd.print (c3) ;
lcd.print (c2) ;