Can't you rather track the building tool firing, get the projectile that way. When the lifetime is about to expire, check if it exists.
BrickDeployProjectile::onRemove should be called when it's deleted, then you'll need to check whether it timed out. Maybe that's as easy as this.lifetime <= 0?
package Planets{ [...] function BrickDeployProjectile::onRemove(%data, %this) { talk("testA"); Parent::onRemove(%data, %this); } [...]};activatePackage("Planets");