Hello,
I've investigated this behavior in the past and collected a decent
amount of debugging information. (The fact that your reports are now
deleted would make it more difficult to go through the debugging
steps, but that's okay.) Unfortunately, we've yet to come up with any
conclusive causes for either empty reports or 404 URLs (which appear
to be two distinct issues). If you get to the level of reproducibility
where we can schedule some reports at a specific time that some of the
engineering team is looking at the backend then that would be useful,
but as it is it doesn't sound like it happens often enough.
Based on what's worked for other developers, when you encounter
either issue you should be able to call getGzipDownloadUrl() using the
same report ID (assuming you haven't deleted it and that it hasn't
been bumped from the 15 report queue) and get a new download URL that
should give you the full report.
Cheers,
-Jeff Posnick, AdWords API Team