Hmmm… an unfortunate side effect!
Perhaps try removing the double change in the code and replacing with
sendEvent(name:"webCoREPush", value: "$dateStamp")
That way it will only change once, to something unique.
Or add an extra condition to ignore the second event:
On event from Zipato Switch’s webCorePush
DO
IF
previousAge([Zipato Switch : webCorePush]) is greater than 2000
THEN
Do stuff
The above will not fire for the second event if it occurs within 2 seconds