There are a lot of isometric tutorials on the web, try this one as a starting point.
http://www.gamedev.net/reference/articles/article747.asp
One of the issues of isometric systems is depth sorting, because of the staggered layout of tiles it is very easy to screw up and end up with your MOB's (movable object blocks, your characters and objects) getting drawn at the wrong time. They then appear over the top of the objects in front of them, or part of them gets deleted by the next tile drawn.
Think of what will happen when you have a MOB near the bottom right of a tile, slightly overlapping the next tile to the right and the next tile down the screen.
If you draw all the tiles, then draw the MOB, the MOB will not be "in" the scene.
If you draw the MOB at the same time as the tile it is in, then parts of it will be overwritten by the next tile to the right and the next tile below.
If you draw a row of tiles then draw all the MOB's on that row, parts will be overwritten by the next row.
It's a complex issue, and one of the reasons the early isometric games had the game characters only moving one tile at a time.
One solution is to model all your tiles as 3D objects, and then place them into the grid and let the zbuffer take care of depth issues.
Another is to use the equivalent of Porter - Duff rules.
These are a set of drawing rules with names like SRC_OUT, SRC_IN, DEST_IN, you can write code that only draws to the screen IF the destination pixel is empty, slow as hell though.
Don't think 2D is easier than 3D, in todays environment where polygons are king it is often harder to do some things that seem simple than to throw thousands of polygons at the graphic card and let it sort it out.
Information is not knowledge, knowledge is not wisdom, wisdom is not truth, truth is not beauty, beauty is not love, love is not music, music is the best! Wisdom is the domain of the Wis (which is extinct).