I think that you may be confusing encryption of data "in transit" and encryption of persistent data. PFS works mainly and I think was also designed mainly for data in transit. So for messaging protocols, the important point to realize is that whichever keys you employed as part of the key agreement protocol (usually asymmetric keys), and whichever keys you agreed on and used for the message transport protocol (usually symmetric keys) should go away, never to return, once the session ends (or earlier!). This way, whoever is able to record the encrypted session data, by somehow eavesdropping on the line (aka: Passive MITM), will not be able to recover those keys at any point in the future, which renders his recording of the entire session as useless information.
When you start talking about things like "message history" and how is it you're able to see messages that were sent to you in the past, this is a whole different story. As long as you want any kind of message history, you need to enable the user to both securely store and delete historical messages, but by definition the concept of PFS doesn't apply to them because this is where you begin to deal with the encryption of persistent, as opposed to transient, data.