I have seen this issue 3 times during my current development effort. I had always assumed that my code was doing something to disable the JTAG. This morning, I decided to confirm the fact. After recovering with the Flash Magic Utility, I loaded the same Hex file as was loaded when the issue occurred. My board came up and ran nominally. So, it is not always the code's fault.
But, it could have been that I had the DTR line asserted on my serial emulator, thus holding the device in RESET. OOoops.