Given the changes in the previous diff, we can no longer assume that if a thread has messages, at least one of those messages will be present in a fresh `MessageStore`.
There should be no threads with zero messages anyways, so this change should be safe. In the worst case, if we have some database corruption and threads exist with zero messages, this diff will force a server call to try and fetch the messages. After the server call returns, `startReached` should be correctly flipped to `true`.
Depends On: D3349