I ran into this same problem with every-time a few days ago. I guess you can get around this by simply not using every-time and just sticking with a bunch of separate events, although I have 66 arguments in one of these so it would be a little clumsy to split it up into that many. 
Spare a thought for me. What I have presently is (in pseudo code) is:
when start of mission then capshipname = "None"
when capship 1 arrives and capshipcount = 0 ) then capshipname = "capship 1"
when capship 2 arrives and capshipcount = 1) then capshipname = "capship 2"
when capshipname != "None" then...
1. do a huge list of stuff for the capship
2. capshipname = "None"
3. capshipcount = capshipcount + 1
Now imagine this for 10 capships

. I think the problem is that when-argument/every-time-argument, and every-of don't really know what they're trying to do. Either than or the default behaviour is less than useful as it is. As I simply cannot imagine and circumstance where the default behaviour would actually be useful.
Don't get me wrong, the <argument> idea is a great one. I could use it in conjunction with a condition to say... check a huge list of ships to see which have low hitpoints and then have them send a distress signal message. Saves having to do the check for every, single ship in a seperate event. Or you can just give "true" for the condition and run some set code with a different argument each time. both of which are really useful things to be able to do but you can't do either with the sexps as they stand. So what's the point?
Kara might chew me out for labouring the point here but in all honest I'm just baffled that's all. I'd love to know who came up with these things and what they were thinking

.