The Last-Modified HTTP header is always set to the current time, regardless of when it was previously set.
I think the problem is occuring here in classes/Base/Response, it looks like the last modified time is, for some reason, null.
I think it would be worth extending the code here so that in the case of no Last Modified time being found, the value of strtotime('now') is persisted in the lastModifiedTime property and saved to the DB.