There are many ways to implement "event in future".
The basic concept is you start something that takes a while and triggers an event later.
Animation based
This is pretty common as it starts a process and it presents progress to the audience. The animation is the cause rather than the effect.
When you play the animation with the action actuator (and it does not run in an endless loop) you can measure the end with the actuator sensor.
Be aware it measures when an actuator is active, but you want to know the opposite. Also keep in mind any actuator will start deactivated that will trigger the sensor too.
Counting frames
This is also a common practice. It provides you full control when to start and when to end. Unfortunately you have to implement a continuous process to run this behavior (not really efficient).
The implementation is simple:
Define a property with a start value e.g. 0
You start the delay by setting a value above zero (e.g. 10 to measure 10 frames).
You observe this property with a property sensor. When the property is above zero you decrement it by 1 at each single frame [True Level Triggering].
When the property reaches zero the time is up and you trigger your event (e.g. by sending a message).
Automatic property
You can use a timer property. The timer property counts the seconds automatically.
You start the delay by setting a value below zero (e.g. -10 to measure 10 seconds).
You observe the timer property with a property sensor.
When the property gets above zero the time is up and you trigger your event (e.g. by sending a message).
Be aware the timer property will continue counting and never stop. You can set any value at any time (e.g. to start another delay).
Delay sensor
This is not so common as there is a small but important obstacle a lot of BGE users stumble across. You need to know how sensors work.
The delay sensor start measuring when the object gets created!
This means it is perfectly fine to measure a time frame since scene start.
It is also fine to add the object and get a delayed event after creation. This way you can establish a sort of timer, just b adding such an object.
But there is more:
The delay sensor also pops when you switch the state of the build-in state machine (from a state without the delay sensor to a state with state sensor).
You start with a state without the delay sensor.
You start measure by switching to a state with delay sensor.
You measure the delay with the delay sensor.