You're right that ConnectController sets that in the session, but you may not have noticed that ConnectController also removes it from the session (in the processFlash() method). It sets it upon encountering the duplicate, then redirects to the connect status URL, and then it deletes it.
It's only put into session scope because request scoped attributes won't survive redirects. Therefore, ConnectController manages its own flash-scope so that the attribute will be around after redirecting back to the connection status page. If this were using Spring 3.1, I could rely on Spring 3.1's support for flash-scope instead...but since I have to also support Spring 3.0, which doesn't have flash-scope, I had to handle it all within ConnectController.
But I see your point...you should be able to somehow display a message regarding the duplicate connection to the user upon arriving at the connection status page. By the time the view is displayed, the flash scope will have been cleared out. Hmmm....I have created https://jira.springsource.org/browse/SOCIAL-297 to address this.
Spring Social Project Lead