Remember to post code inside [code=cpp] [/code] tags.
I may have been slightly wrong about the window alpha layer. It's possible that it stores the alpha layer in the colours; it just does not use that alpha when displaying the window.
I suppose the compression would be related to the image loading library that SFML uses. Just so you know, Photoshop also saves the PNG image larger when re-saving it.
The second code makes black screenshot (actually, a transparent screenshot) because when you try to clear, draw and display to the window, it's probably not finished being opened so has nothing to work with and therefore you're capturing the window before it's even there.
You can see this by adding:
while (!window.isOpen()) { }
before window.clear
EDIT: added missing "not" to the phrase "it just does 'not' use that alpha"