Projects like these depend on a fixed camera rotation (means: no rotation at all), at least in a 2D environment. In my opinion it's one of the coolest artstyles in gaming, but that's just me I guess!
Depth test (and therefore render order) is actually quite simple with a z-buffer (For every object you save the depth of the object and then draw it in that order).
To get sprites looking 3D, you can just askew the images in the y direction with the angle you want your (imaginary) camera to look at the sprites.
Collisions are the biggest problems from my experience, the simplest way is to save a dynamic z-buffer value for you character and compare it to the objects (if x and y are in the same range), but that leads to sometimes unpleasing results, so here is a lot of fiddling required.
For projects like these .. you always have to remember that you do not actually have a 3rd dimension, so SOME aspects can be really really tricky.