I managed to solve the problem myself (although, you all did help me, afterall) without eliminating the ActionListEmpty() or using any dirty methods (like summoning a creature and making the summoned creature clear the actions of the summoner). I put to use Sim's idea into action, but I used LOCAL variables rather than LOCAL timers.
I added this to my code:
IF
ActionListEmpty()
See(NearestEnemyOf(Myself))
THEN
RESPONSE #100
SetGlobal("AttackedSomeone","LOCALS",1)
AttackReevaluate(LastSeenBy(Myself),15)
END
Note that it is mandatory to place the SetGlobal() action before the AttackReevaluation period.
I then placed this at the first line of my script:
IF
Global("AttackedSomeone","LOCALS",1)
THEN
RESPONSE #100
SetGlobal("AttackedSomeone","LOCALS",0)
ClearActions(Myself)
END
-Galactygon