I think that SFML should provide an option that will map the 0,0 to the bottom left hand corner of the screen instead of the top left. The change is not that major. It would essentially be a conditional around the few places where the world is specified upside down.
I understand there is a lot of history here with old dos games editing the frame buffer directly. I however don't think that emulating this is good idea in a modern 2d engine. We are not using a frame buffer so don't pretend we are. OpenGL maps the 0,0 to the bottom left corner, and that is our rendering engine.
Ideally, a 2d engine should let the user specify their world and viewport into that world. Most 2d engines don't do this (they're still hung up on the emulating a frame buffer). I was very excited to see that someone finally realized a 2d engine would do well to use this concept. I can pan the camera around instead of moving the world. However, SFML requires the world to have the y axis upside down. It's like it kinda stuck half way between the 3d vewport method and the 2d framebuffer method.
I would personally like to have the 0,0 mapped the bottom left always. I mean OpenGL made the decision to map it there, and I generally view OpenGL as one of the best designed API's. There are many reason to put it there. That said it is very common for 2d programmer to expect the 0,0 to be in the top right that it wouldn't make sense to make it hard for them to use the library either. So I propose a boolean value to tell the underlying system to not flip the y axis.
-caspin