I see now. It wasn't clear to me that the browser POST was being executed again. That does complicate things a bit.
Just to erase a little bit of the fuzziness of what's going on, what happens when the Account Partner/IdP token is posted to the RP FS is that it reads the token, validates the signature, determines if the token (as identified by the realm identifier) was signed by a certificate configured as be associated with that partner and then also validates the timestamps in the token (notBefore and notOnOrAfter). If the current time falls within that range, the token is accepted. Then the FS performs an transformations required on the claims and issues a new token addressed to the requested application which is signed by its own token signing certificate.
Then, the browser posts the new token to the app itself. This way, the app only has to trust tokens issued by the RP instead of needing to potentially allow tokens signed by lots of different providers. The RP acts as a broker to establish the trust and "normalize" different claims coming from different partners into a set that the application can understand.
The logout function clears all the cookies that are issued by the various parties (the IdP FS, the RP FS and the app). However, if one of the raw WS-Fed form post values is actually re-posted to the destination FS AND the timestamps are still valid in the signed token, the token will be accepted and a new cookie will be generated.
There may not be much that can be done about this if the back button cannot be prevented from submitting the form post again.
That said, it may be possible to do something on the web app level. If you had an overall forms auth set up for the application that could accept ADFS login and issue a forms auth ticket, you might be able to integrate that with an overall ADFS logout so that only your forms auth ticket would remain. If the FS was then configured to issue tokens that were only good for a brief time, a re-post of the same SAML token would be rejected by the app after it expires.
This is just off the top of my head and I'm not totally sure if it would work or if there would be additional complications that arose from it, but it might be an idea to work with. I'm not sure if there is any way you can prevent the browser from actually submitting the POST again unfortunately. It would be nice if there was just some header you could configure in IIS on the FS that would prevent this. Maybe there is and my lack of knowledge of browser caching details is the limiting factor here. :)