There are some things you should be aware of that are important for percieved "flow" of images.
First: Use the same "detail level" all over, unless there is a reasonable argument against it:
In 3D this means, you should keep up a rough overall "texel to world" ratio. If the floor of your terrain at certain places has more texels, thus looking sharper, than at other places, where a texture is more stretched, this gives a wrong percieved "depth". The eye expects objects at a certain distance to share sharpness.
For 2D, this means you should try to have a 1:1 ratio for your backgrounds (don't stretch anything, shrinking generally is okay). Also, if your meshes are crispy, your backgrounds should be crispy as well. If your meshes are more "smoothly styled", your background should be as well.
This partially also runs into the second argument: A consistant graphics style. Rendered meshes on hand-pixeled background (tend to) look weird. Cel-Shaded meshes in a 3D textured environment with normal textures look weird. And so on.
The third one: Perspective and lighting.
For 3D, you may get (slight) weirdness in your graphics if your meshes use different lighting solutions than your background, i.e. buildings are lightmap-lit, meshes are vertex lit. Can be observed in many older games, UT, and similar, since it looks like meshes and surroundings being exclusively lit by different sources.
This is true for 2D as well: Be careful that your light comes from a certain, set direction. The eye uses lighting as a hint for percieving depth on a flat surface (think of the simple shaded cube that can, on a paper, either be seen as extruding from the surface, or extruding into the surface).
Doing perspective in 2D is more difficult, especially if you intend to have some sort of rotating camera. Basically, a normal "top down" view shouldn't show anything but the head of people. Usually, this is remedied by "simulating" a slight vertically shifted, parallel projection, i.e. one sees both the front and the top side of objects. Be careful to stay in this (or another, as you desire) perspective for all your graphics, don't drop out to full isometric, or to full topdown for any.
The eye is very compatible here though: Certain small conflicts in either perspective or lighting are gracefully ignored. If you remember the dungeons from the first Zelda game, the dungeon frame (outer walls and doors) had a different perspective from the one used for objects and walls inside the room, which wasn't all too noticeable.
Maybe have a look at SDL (which is pure C), but it is more of a image library/rendering engine than an actual game engine. Allegro used to be free around the time I did 2D stuff with middleware engines, haven't checked on it for quite some time, though.
Hope this helps,