Version 3 looks similar to two, but I basically redesigned everything.
I replaced the off the shelf sensor with a pyroelectric element and and a dedicated PIR controller IC
I also beefed up the solenoid power circuit by switching the transistor to a FET and adding a large cap.
Here's a better pic of the new electronics.
In addition to the new stuff, I made a bunch of minor improvements. I upped the isolation between systems a lot, added filter caps, put in more efficient regulators, etc.
Another major redesign. I figured out that the PIR IC was just a glorified op amp, so I replaced it with an actual op amp.
I also upgraded the PIC to a version with analog inputs (12F675) and started reading the analog outputs from the op amp directly.
To write the triggering algorithm, I bought one of these
and recorded the waveforms for a bunch of different stimuli like swaying trees, walking/running at various distances, jostling etc. I used the data to write a triggering algorithm in assembly.
The algorithm keeps a running average of recent readings, and triggers if the input differs substantially for a few cycles in a row. The multi cycle requirement rejects electrical noise (sharp spikes). The running average rejects low frequency drifting.