Analog sensor update more often.

Alphafitz:
Each button push increases the loop time. I need the mpx data more regularly.

Well, if you're going to use delay(), and do it in increments of 1000, you aren't going to read that pin very often at all.

A few things..

Check the Examples directory of the IDE and have a look at Blink Without Delay. Use the technique in there to decide when to toggle the solenoid pin, and to decide when to allow the solenoid to be retriggered.

Don't print stuff in an ISR. There are two reasons for this. The first is that you want to keep the ISR as short as possible so that anything else that uses an interrupt doesn't get delayed, and the second is that many forms of output (I don't know about the LCD library) use interrupt, and won't work at all during an ISR, because interrupts are disabled during an ISR routine.

Any variable used in an ISR should be declared volatile, like: volatile int buttonPushCounterOn = 0;