Creating and destroying objects seems the only way on the fly of forcing them to use their own pv's.
No, it isn't. It's the event-structure that breaks the logic in this case.
In your screenshot "Capture3.PNG", the "trigger once"-subevents don't work as you expect. "Trigger once" should only be used as a second condition in an event and can easily confuse, if used in a subevent.
Instead, think of your issue as a triple state:
1) object is touched
2) object will be made invisible
3) object will be made visible
Now use the pv "touched" to map that tri-state.
1) object is touched -> touched = 1
2) object will be made invisible -> touched = 2
3) object will be made visible -> touched = 0
If you adapt the following screenshot exactly as is to your project, it will work (I just omitted the animation setting, which you would have to put back in, in my events 2 and 3):
<img src="http://dl.dropbox.com/u/11182740/pictures/delay.png" border="0">
EDIT: In case you didn't find it yet, there's an extensive description of picking (filtering) in Construct's wiki. Just follow this link
EDIT 2: Damn, I posted an image with the wrong order of the conditions in event 2. Don't know why^^ Here is the correct order of conditions:
<img src="http://dl.dropbox.com/u/11182740/pictures/delay2.png" border="0">