What you ask should be able to be scripted.
You will need to have some always active objects to detect where the player is and start and stop the timers when the player gets near and passes the point.
Scripts are available to tell the program which side of an object they are on, scripts that detect the range of the player from a specific object, scripts to collect the info for score purposes, scripts for timers.
So it would be a matter of combining the use of these scripts into a Routine like the coin collecting in the cartoon demo map.
I would start with that and apply the timer functions in there, collecting times and resetting timers and performing some option (restart level, goto other level, start the next range of objectives, spawn objects.) Based on the times that you define.
Sometime it is easier to write down what you want to do in steps on paper and then build your script around that.
Player start, Start timer heat 1
Objective, Get to the flag A
Obstacles: 6 solders spawned at start.
Time allowed: 3 minutes:
If make it: advance to heat 2:
If not: end level and restart.
Keep working your way through what you want till you get a solid plan. Then all you need to do is piece together the scripts as you need.
Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 Mhz, 4 Core(s), 4 Logical Processor(s), 8gb RAM, Nvidia gtx660, Windows 7 Pro 64bit, Screen resolution 1680 x 1050.