Lee,
To trouble shoot this, put it in your session and see if all the sudden its working, if it is, then I think you are at the mercy of struts processing… I wish this behavior was more clearly defined… the request scope should be cleared between requests, and in this case you only have 1 request:
client -> request -> serverAction -> (nulled here!) serverAction -> reply
That is trickie… maybe you can ask on the Struts mailing list, those guys seem to know a lot about Struts 😛