It sounds like you have one of the (X,Y) pair flipped. You can unplug a motor cable and flip it. That should take care of the movement. But assuming the connectors are plugged in correctly, it might be best to keep things standard. You can make the changes in Configuration.h. You are looking for lines that look like this:

Code:
#define INVERT_X_DIR false    // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR false    // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR true     // for Mendel set to false, for Orca set to true
When you say Home the axis, how does the printer know where the Home position actually is, as when i hit the home axis button using PronterFace, it will move in a direction slightly, and continue to do this at repeated button pushes, until it hits the edge of the printer.
It will move towards the limit switches defined by these lines in the Configuration.h file:

Code:
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR 1
If it doesn't move and it isn't at the end of travel, you have a problem with the limit switches thinking they are being pressed when they are not. You can check this with the M114 command. With the nozzle in the center of the bed, give it a M114 and see what it says. With the motors turned off, slide the extruder to one end (where you see a limit switch). Give it another M114 and see if the state of the switches change.