hmm...
Add a "fired" eventHandler for the unit placing the satchel, like this:
this addEventHandler ["fired",{[if (_this select 4 == "PipeBomb") then {(nearestObject [_this select 0,_this select 4]) exec "placed.sqs"}]
and in init.sqs something like MYTAG_baseGoHaywire=false
Then, in the placed.sqs something like this
#loop
~1
? alive _this: goto "loop"
MYTAG_baseGoHaywire=true
And then of course for example a trigger having a condition MYTAG_baseGoHaywire which would then set the base go haywire...
None of the syntaxes or 'code' have guarantees whatsoever