I'm seeing the same problem. I think it stems from the fact that TestUtil.summarizeJob() calls
In my debugging, job.getAction() leads to the following calls:
Inside LastBuildActionFactory.createFor(), you can see that project actions will only be added to the collection returned if getLastSuccessfulBuild() is not null. Because of this, the dashboard's calls to job.getAction(TestResultProjectAction.class) return null and a blank test result is added to the summary.
My hunch is that in general, only showing information from the last successful build isn't what people are looking for. In my case, I always want to see information from the last build that produced a test result, even if that build failed.
You might be able to borrow from here, and call it here, instead of job.getAction(TestResultProjectAction.class).