Can an XBee in API mode receive data through serial?
It could be because read() and readline() are blocking methods, when no timeout is set. Initialize the serial instance like this:

ser = serial.Serial(PORT, BAUD_RATE, timeout=1)


for a 1-second timeout. This means any read() calls will wait for 1 second max before returning with whatever has been read so far. You seem to be writing '0013A20040F70A50' to the coordinator, which contains no newline characters; since your read() is blocking, I expect your program will wait till a newline comes in through the serial port (which never happens) before returning. From the pyserial docs:


  Be careful when using readline(). Do specify a timeout when opening the serial port otherwise it could block forever if no newline character is received.


So you should either add a timeout like I already explained, or you continue with your blocking mode but ensure you add a new line character to whatever you send to the coordinator. In the first case, you risk reading nothing at all, since you arent even checking if anything has arrived, before reading. You can fix this with:

while not ser.inWaiting():
    pass
incoming = ser.readline()


This will wait till the first character comes in and then attempt to read a line, within 1 second i.e. the timeout value. This can be problematic if your entire line is so long that it doesnt arrive within a second. You can try interCharTimeout instead; it's one of the properties of a serial object. 

ser = serial.Serial(PORT, BAUD_RATE, interCharTimeout=0.5)


This should set the maximum allowed time between received bytes to 500ms; if it exceeds this, the read() or readline() will return. I havent tried this before though, just something I've seen in the docs. 

Of course, you could just leave everything in blocking mode as is, and simply ensure that you always send a newline character with your packets.