Eason,
I can't precisely tell why your system is behaving this way, but if there is code already running on the device this sometimes may influence the ability of the JTAG emulator to connect to the core.
For example, I recall that the default configuration of some Linux kernels used in Netra/Centaurus devices used to power down the JTAG circuitry. In these cases, the system reset would re-enable the JTAG and therefore enable connecting while the Linux kernel did not yet have a chance to run (and thus power down the JTAG circuitry again).
Hope this helps,
Rafael