You can generate extra debug information by using the print keyword, just add short (or even just increasing numbers) along the lines of the function, then you can see what is happening.
One thing that I did notice, is where you try to find the player location, what you are actually doing is setting the location of the player to 0.000000, -5.000000, 0.00000, and then going on to store None in bPlayerLocate (doesn't the b suggest boolean?). And finally, which might be a cause (but shouldn't be) you pass that bPlayerLocate to CreateShip, which expects either None (so that's good) or a String that denotes a Waypoint in the system.
Please try the extra debug idea first and see what the last outputted line was.