It caused by changed value of 'rendered' attribute in your actionListener.
File upload action listener is invoking when file was transmitted to server. Then <a4j:support> on client determines that uploading has been completed and sends another ajax request to server. This request should invoke action defined in attribute of <a4j:support> component.
But 'rendered' attribute of fileUpload already has been switched to false. So, this request does not invoke action.
To solve the problem just place this code
this.state = STATE_COMPLETED;
to action method.
thanks a lot! it's really true :))