Most likely you are setting the lifetime of the actor (DetonateTime + .01) to something between 1.0 and 2.0. If the actor deletes itself before the delay fires, then the delay never fires!
If you want the explosion to occur when the grenade is destroyed, then you should use Assign On Destroyed to bind an event to OnDestroyed and create your emitter there. No matter how long your grenade delay is, the explosion will then happen at the right time.