As Ross said, use "etimerstart/etimergreater".
;Artificial Intelligence Script
;Header
desc = Destroy Entity with Timner
;Triggers
:state=0:state=3
:state=3,plrdistwithin=100:etimerstart,state=4
:state=4,etimergreater=1000:plrsound=audiobank\switches\press.wav,state=5
:state=5,etimergreater=2000:plrsound=audiobank\switches\press.wav,state=6
:state=6,etimergreater=3000:plrsound=audiobank\switches\press.wav,state=7
:state=7,etimergreater=4000:plrsound=audiobank\switches\press.wav,state=8
:state=8,etimergreater=5000:plrsound=audiobank\switches\press.wav,state=9
:state=9,etimergreater=5500:subhealth=500
;End of Script
Second, you can't start a script in "state=3" as that may cause nothing to happen because it can't reach that state. For example, if I use this script and the script has only one line..
:state=0,plrwithinzone=1:state=1,sound=$0,video=$1,stopsound=$0,activateifused=1
.. it works as it should. If I change the "state=0" to...
:state=3,plrwithinzone=1:state=1,sound=$0,video=$1,stopsound=$0,activateifused=1
...or any other number the script does not work. That is why in your script I added the "state=0:state=3" so the script knows where to go when started.
There's no problem that can't be solved without applying a little scripting.