odometer:
Also, why all thedelays in your code? In particular, why delay for two whole seconds incoinInserted()?
+1
The hallmarks of an ISR are: 1. it does one or a few very (computationally) simple things and therefore, 2. it's fast. The preferred approach is to set a flag in the ISR and handle the detected condition somewhere in loop() code.
Try adding one or more Serial.print statements to monitor the accepted coin value as you go along.