Thanks for the help guys, Jdean300 has managed to solve my problem. I do understand your code now BeerNuts, and will try to rewrite it your way and see if I can get the same result as Jdean300 (which is working correctly).
Thanks again guys, you've been great help!
Mike
The method I provided handles things like a player jumping up and right, and hitting a wall, the player will stop going right, but will continue to move up, then down, like sliding against a wall.
FWIW, I've moved to using a 2d physics library to handle all my movements, collision detection, and collision responses. Personally, I use chipmunk-physics, but others use box2d, both are good, and it makes writing 2d games Sooooo much easier.
In my Signature, the link to my old blog details making a top-down 2d game using chipmunk-physics if you want to check it out.