I have had this same problem. I have therefore tried to change my ticket uploading habits so that I upload the ticket immediately after I quit playing since I can easily download another when I start playing again. This way I save myself and Wil a lot of trouble.
Btw If you still have the ticket, I think Wil can do something with it even if it was uploaded earlier, but to save his troubles I suggest you too try to learn to avoid such situations. It will propably still happen sometime so a convenient procedure for these cases should exist. It might exist already but some speculation on the matter ...
It's pretty difficult for the client to know if the ticket has been uploaded since the uploading is done via a browser that has nothing to do with the client. I can't think of another way to do this but to have the client do the uploading. This would mean that it would have to do it via http with configurable port/proxysettings and maybe even the uploadticket URL. I don't know how difficult this would be to implement and I would prefer Wil to use his extra time on creating new levelsets instead of admining which is pretty boring.
Another thought. I've seen java applets that ask for additional priviledges when run. I don't know what those priviledges are but if they included write/rename a file then maybe a java applet could handle uploading ? As a default applets can't have these priviledges so I don't know if it's possible. Propably not. Don't know about flash either.
Maybe the easiest action to do to avoid this from happening is for Wil to append a GIANT warning text after the "ticket being processed"-text to tell the user to delete the existing ticket file.