Here's a compact count up timer which works in a different way, that will allow you to easily set the start and end times required.
The start time is set by the pre wait of the memo cue, and the end time is set by the post wait of the memo cue. It uses the action elapsed time of the group cue as the counter (offset by the pre wait time of the memo cue)
tell application id "com.figure53.QLab.4" to tell front workspace
set myQ to las item of (cues whose running is true and q type is "script" as list) --identifies this script cue from the list of active cues
--finds the other cues in the same group as this script cue
set thegroup to parent of myQ
set thesettingscue to first cue of thegroup whose q type is "memo"
set thetextcue to first cue of thegroup whose q type is "text
--sets the timing variables
set thecount to (pre wait of thesettingscue) + (action elapsed of thegroup)
set theend to post wait of thesettingscue
start thetextcue
repeat while thecount < (theend - 0.1)
set thecount to (pre wait of thesettingscue) + (action elapsed of thegroup)
set theTimeString to my hrMnSc(thecount)
set the text of thetextcue to theTimeString
delay 0.1
end repeat
--when timer reaches end time
set the text of thetextcue to "TIME'S UP"
delay 3
set text of thetextcue to " "
stop thegroup
end tell
--subroutines to parse seconds to HH:MM:SS format
on hrMnSc(secs)
tell secs to set {hr, mn, sc} to {it div hours, it mod hours div minutes, it mod hours mod minutes div 1}
return padZero(hr) & ":" & padZero(mn) & ":" & padZero(sc)
end hrMnSc
on padZero(v)
return text -2 thru -1 of ("0" & v)
end padZero
You can also select any count up group cue and press hotkey 1 to run the reset cue which will bring the start time for that timer onto the screen. Again, no specific q numbers or names are required. The script validates that the cue selected is a group cue that only contains 1 text cue, 1 script cue , and 1 memo cue, which in most cases will be more than enough to identify a valid count up group in this workspace
tell application id "com.figure53.QLab.4" to tell front workspace
set theselected to last item of (selected as list)
--validate
if q type of theselected is not "group" then return
if (count of cues of theselected) is not 3 then return
if (count of (get cues of theselected whose q type is "script")) is not 1 then return
if (count of (get cues of theselected whose q type is "text")) is not 1 then return
if (count of (get cues of theselected whose q type is "memo")) is not 1 then return
set thetextcue to first cue of theselected whose q type is "text"
set text of thetextcue to my hrMnSc(pre wait of (first cue of theselected whose q type is "memo"))
start thetextcue
end tell
on hrMnSc(secs)
tell secs to set {hr, mn, sc} to {it div hours, it mod hours div minutes, it mod hours mod minutes div 1}
return padZero(hr) & ":" & padZero(mn) & ":" & padZero(sc)
end hrMnSc
on padZero(v)
return text -2 thru -1 of ("0" & v)
end padZero